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日

相关文章

  • JS实现滑动门效果的方法详解

    JS实现滑动门效果的方法详解 什么是滑动门效果 滑动门效果,是一种常用于网站菜单、标签等交互式组件的效果。在鼠标悬停或点击时,该组件的背景色会发生变化并滑动到目标位置。该效果可以使用户操作更加友好,增加用户体验。 实现滑动门效果的方法 方法一:使用CSS实现 CSS3提供了transition/transform属性,可以使元素在发生状态变化时产生平滑的动画…

    JavaScript 2023年6月11日
    00
  • JavaScript数组去重的几种方法效率测试

    下面我将为您详细讲解“JavaScript数组去重的几种方法效率测试”的完整攻略: 1. 背景 在 JavaScript 中,有时候需要对一个数组进行去重操作,以便更好的进行数据处理和展示。目前常用的方法有很多,如使用 Set、Array.filter()、循环遍历等,但是每个方法都有其优缺点,效率也不尽相同。因此,为了得出最优的去重方法,我们需要进行效率测…

    JavaScript 2023年5月27日
    00
  • JS获取url参数、主域名的方法实例分析

    JS获取URL参数的方法实例分析 在前端开发中,经常需要获取URL中的参数,以便进行相应的逻辑处理。下面我们将介绍JS获取URL参数的方法。 方法一:正则表达式获取 常见的方法是通过正则表达式获取。 /** * @description 通过正则表达式获取URL中指定参数的值 * @param {string} name 参数名 * @param {stri…

    JavaScript 2023年5月28日
    00
  • Sanic框架Cookies操作示例

    下面我来详细讲解一下“Sanic框架Cookies操作示例”的完整攻略。 一、什么是Cookies? 一般来说,Cookies是一个小型的文本文件,可以在客户端浏览器上存储一些简单的用户信息,比如登录状态、浏览历史、购物车信息等。 在Web开发中,Cookies经常被用来跟踪用户的行为,比如记录用户的喜好,让广告展示更精准;或者保存用户的登录状态,方便下次登…

    JavaScript 2023年6月11日
    00
  • JavaScript前端开发时数值运算的小技巧

    下面我来为大家详细讲解一下”JavaScript前端开发时数值运算的小技巧”的完整攻略。 标题 JavaScript前端开发时数值运算的小技巧 缩略语 在JS开发中,经常会用到缩略语如下: Math.ceil() 向上取整 Math.floor() 向下取整 Math.round() 四舍五入 数值运算技巧 在计算浮点数时使用toFixed() 当涉及到浮点…

    JavaScript 2023年6月10日
    00
  • vue.js路由跳转详解

    Vue.js 路由跳转详解 Vue.js 是一款用于构建用户界面的渐进式框架。Vue.js 路由可以让你构建单页应用程序 (SPA,Single-Page Application)。本篇文章将详细讲解在 Vue.js 中如何进行路由跳转。 准备工作 在开始路由跳转之前,需要安装 Vue.js 的路由组件。可以根据官方文档进行安装,步骤如下: 在命令行里输入以…

    JavaScript 2023年6月11日
    00
  • JavaScript数据类型及相互间的转换规则

    JavaScript数据类型及相互间的转换规则 在JavaScript中,数据类型可以分为基本数据类型和引用数据类型,其中基本数据类型包括:数字、字符串、布尔值、null、undefined以及symbol(ES6新增),引用数据类型包括:对象、数组、函数等。 基本数据类型 数字 数字类型包括整数和浮点数。JavaScript中所有数字都是浮点数,例如: l…

    JavaScript 2023年5月28日
    00
  • JavaScript实现一键复制文本功能的示例代码

    下面是实现一键复制文本功能的示例代码的攻略: 第一步:引入clipboard.js clipboard.js是一个轻量级的JavaScript库,可以帮助我们实现粘贴板相关的功能。首先,我们需要将它的代码引入我们的HTML页面中,可以通过npm进行安装或者直接下载官方发布的脚本文件。 <script src="path/to/clipboar…

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