Jsonp 关键字详解及json和jsonp的区别,ajax和jsonp的区别

一、Jsonp 关键字详解
1. Jsonp的全称是“JSON with Padding”,即“带填充的JSON”。
2. Jsonp是一种跨域请求方式,允许在不同域之间请求数据,常用于跨域解决方案。
3. Jsonp的原理是利用script标签的src属性可以跨域加载资源的特性,通过在url中加入callback参数,将回调函数名传递给服务端,服务端返回一小段js代码,调用回调函数,将数据以参数的形式传递给回调函数,并执行回调函数。回调函数名一般由客户端随机生成。
4. Jsonp请求使用的是get方法,因为script标签只支持get方法。

二、json和jsonp的区别
1. Json是一种数据格式,用于存储或交换数据。
2. Jsonp是一种跨域请求方式,可以帮助我们获取远程服务器端返回的json数据,并且不受同源策略的限制。
3. Json通常使用ajax进行请求和响应,且仅能在同域名下使用。
4. Jsonp则使用script标签进行请求,由于script标签的src属性无同源限制,所以可以跨域请求。

三、ajax和jsonp的区别
1. Ajax是XMLHttpRequest对象调用后台接口获取Json格式的数据,客户端通过js调用XMLHttpRequest实例,可以进行异步与服务器端的数据交互,在不需要刷新页面的情况下更新部分页面内容。
2. Jsonp使用的是获取json数据的方法。Jsonp是在客户端定义一个函数,通过script标签的src属性向服务端请求数据,在服务端接受到请求后将数据存放在客户端定义的函数中,再将整个函数返回给客户端。客户端拿到返回结果后解析数据。
3. 相对而言,Ajax更加灵活,但受同源策略限制,Jsonp则可以跨域请求,但功能受限。具体选择使用哪个技术需要按照具体情况决策。

示例1:
下面是一个使用ajax获取json的代码:

$.ajax({
  url:"http://example.com/data.json",
  type:"get",
  success:function(data) {
    console.log(data);
  },
});

示例2:
下面是一个使用jsonp获取数据的代码:

function callback(data){
    console.log(data);
}
var script = document.createElement("script");
script.src = "http://example.com/jsonp?callback=callback";
document.body.appendChild(script);

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Jsonp 关键字详解及json和jsonp的区别,ajax和jsonp的区别 - Python技术站

(0)
上一篇 2023年5月27日
下一篇 2023年5月27日

相关文章

  • JavaScript中Function与Object的关系

    JavaScript中Function与Object的关系 在JavaScript中,Function和Object的关系是非常密切的,因为Function就是一种特殊的Object。在JavaScript中,一切皆为对象,不仅包括原始类型(如数字、字符串),也包括函数。 Function是Object的一个子类 在JavaScript中,Function也…

    JavaScript 2023年5月27日
    00
  • Javascript 获取鼠标当前的位置实现方法

    以下为Javascript获取鼠标当前位置的完整攻略: 方法一:使用mouseevent事件 使用MouseEvent事件可以获取鼠标当前的位置,其中比较关键的有clientX和clientY属性。clientX和clientY属性是MouseEvent事件对象中的属性,它们表示鼠标相对于浏览器窗口可视区域的水平偏移量和垂直偏移量。 下面是一个使用Mouse…

    JavaScript 2023年6月11日
    00
  • Javascript Array slice 方法

    以下是关于JavaScript Array slice方法的完整攻略。 JavaScript Array slice方法 JavaScript Array slice方法用于从数组中提取指定的元素,并将其作为一个新数组返回。该方法不改变原始数组,而是返回一个新的数组。 下面是一个使用slice方法的示例: var arr = [1, 2,3, 4, 5]; …

    JavaScript 2023年5月11日
    00
  • js离开或刷新页面检测(且兼容FF,IE,Chrome)

    来讲解一下”js离开或刷新页面检测(且兼容FF,IE,Chrome)”的完整攻略。 1.需求分析 我们需要一种方法来检测用户是否离开或者刷新页面,当用户离开或者刷新时,我们可以采取一些行动,例如制作一个弹窗或者弹出提示框,提醒用户是否确认离开本页。 2.思路分析 监听onunload和onbeforeunload两个事件。 为了兼容FF,IE,Chrome等…

    JavaScript 2023年6月11日
    00
  • Javascript处理DOM元素事件实现代码

    当我们需要在网页中添加交互功能时,JavaScript 处理 DOM 元素事件是必须掌握的技能。在接下来的回答中,我将介绍完整的攻略,帮助你学会如何使用 JavaScript 处理 DOM 元素事件。 什么是事件? 在编写网页时,事件是指用户操作网页时所触发的动作。例如,当用户点击一个按钮,就会触发 click 事件;当用户将光标移动到一个元素上时,会触发 …

    JavaScript 2023年6月11日
    00
  • Javascript实现的SHA-256加密算法完整实例

    Javascript实现的SHA-256加密算法完整实例 SHA-256是一种常用的加密算法,可以对文本进行加密处理,被广泛应用于网络安全、密码学等领域。本文将介绍如何使用javascript语言实现SHA-256加密算法,并提供详细的完整代码实例。 一、SHA-256加密算法基础知识 SHA-256是一种基于哈希加密算法的加密方式,它可以将任意长度的输入信…

    JavaScript 2023年5月19日
    00
  • JS日期加减,日期运算代码

    JS日期加减、日期运算代码的完整攻略,可以通过以下步骤来实现: 1. 创建日期对象 在JS中,可以通过 new Date() 来创建日期对象,例如: let cur_date = new Date(); 以上代码表示创建了一个当前时间的日期对象,该对象包含了当前年月日、时分秒的信息。 2. 日期加减操作 在JS中,可以通过 setDate()、setMont…

    JavaScript 2023年5月27日
    00
  • javascript:;与javascript:void(0)使用介绍

    当我们在HTML中使用”href”属性来定义一个链接时,有时会使用”javascript:”或”javascript:void(0)”作为链接的href值。这两个值虽然都可以用来防止页面跳转,但它们的作用是有所不同的。 “javascript:;” “javascript:;”这个值通常用来防止a标签产生默认跳转行为,因为当a标签的href属性的值为空时,点…

    JavaScript 2023年5月17日
    00
合作推广
合作推广
分享本页
返回顶部