JSONP是什么

143 阅读1分钟

1. 什么是JSONP?

JSONP就是我们在跨域的时候由于当前浏览器不支持CORS或者因为某些条件不支持CORS我们必须使用另外一种方式来跨域,于是我们就请求一个js文件,这个js文件会执行一个回调,回调里面就有我们的数据。

  • 回调的名字是什么?

    回调的名字是可以随机生成的一个随机数,我们把这个名字以callback的参数传给后台,后台会把这个参数再次返回给我们并执行。

2. JSONP的优点是什么?

  • 兼容IE (最大的优点)
  • 可以跨域 (即使我请求的JSONP不是当前的域名,而是另外一个域名也可以成功地跨域)

3. JSONP的缺点是什么?

  • 由于它是script标签,所以它读不到ajax那么精确的状态,即无法知道状态码是什么也不知道响应的头是什么,只能知道成功和失败。
  • 由于它是script标签,所以它只能发get请求,不支持post请求。