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

yizhihongxing

一、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日

相关文章

  • js使用i18n实现页面国际化的方法

    实现页面国际化(Internationalization,简称i18n)的方法在前端开发中非常常见,可以让我们的网站更易于被全球用户理解和使用。下面我将详细讲解如何使用JavaScript实现网站的i18n。 1. 建立语言包 首先,我们需要建立站点所需的多语言文字资源。针对不同语言,我们可以分别建立不同的语言包(language pack),其中保存着相应…

    JavaScript 2023年5月19日
    00
  • 分享19个JavaScript 有用的简写写法

    下面为您详细讲解“分享19个JavaScript 有用的简写写法”的完整攻略。 前言 JavaScript 是目前应用广泛的编程语言之一,对于初学者来说,熟练使用一些简写写法可以提高编码效率,降低调试成本。本文将分享19个 JavaScript 有用的简写写法,方便开发者们在使用 JavaScript 过程中更加高效、便捷地完成编码工作。 内容 1. Ter…

    JavaScript 2023年5月19日
    00
  • 鼠标事件的screenY,pageY,clientY,layerY,offsetY属性详解

    鼠标事件的screenY,pageY,clientY,layerY,offsetY属性详解 前言 在网页开发中,我们经常需要获取鼠标相对于页面或元素的位置信息,以便进行一些交互操作。为了更准确地获取鼠标的位置,网页开发中提供了多个属性,如screenY,pageY,clientY,layerY,offsetY。本文将对这些属性进行详细讲解,以帮助开发者更好地…

    JavaScript 2023年6月11日
    00
  • JavaScript中判断对象类型的几种方法总结

    JavaScript 中判断对象类型的几种方法总结 为什么需要判断对象类型? 在 JavaScript 编程中,判断对象类型是很常见的操作。在使用对象时,我们需要知道该对象的类型,来确定可用的方法和属性,以及如何正确使用它。例如,在处理对象的过程中,我们可能会需要区分对象是一个数字,字符串,布尔值,还是数组、对象等其他类型。因此,判断对象类型是非常重要的。 …

    JavaScript 2023年5月27日
    00
  • 一文带你理解JavaScript中的函数式编程

    “一文带你理解JavaScript中的函数式编程”的完整攻略 什么是函数式编程? 函数式编程是一种编程范式,它将计算机程序看作一系列数学函数的组合,避免使用共享状态和可变数据,通过数据不可变和函数无副作用的特性实现函数的组合和复用。JavaScript原生支持函数式编程,在近年来的JavaScript开发中也越来越普遍。 函数式编程的特点 函数是一等公民:函…

    JavaScript 2023年5月27日
    00
  • javascript 常用验证函数总结

    JavaScript常用验证函数总结 在JavaScript开发中,我们通常需要对用户输入的数据进行验证,以确保应用程序的安全性和正确性。为了方便验证,JavaScript中提供了一些常用的验证函数。下面对这些函数进行总结。 数字类 isFinite() isFinite()函数用于检查一个数值是否无穷大。 示例: console.log(isFinite(…

    JavaScript 2023年5月19日
    00
  • countup.js实现数字动态叠加效果

    我来详细讲解一下“countup.js实现数字动态叠加效果”的完整攻略: 准备工作 首先,我们需要将countup.js引入到网页中。可以使用npm进行安装,也可以使用CDN链接进行引入。 <script src="https://cdn.jsdelivr.net/npm/countup.js@2.0.7/dist/countUp.min.j…

    JavaScript 2023年6月11日
    00
  • 浅谈JS日期(Date)处理函数

    浅谈JS日期(Date)处理函数 在JavaScript中,日期(Date)处理是相当重要的一种数据类型。在我们的代码开发工作中,通常需要使用日期处理函数对日期进行操作。接下来我们将详细介绍JavaScript中日期处理函数的使用方法。 日期的基本操作 在JavaScript中,日期的基本操作包括创建日期对象、获取日期时间信息以及日期的格式化输出等。 创建日…

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