一、CORS
- 服务器端设置响应头 Access-Control-Allow-Origin,设置好可访问的网站
二、JSONP
- 客户端提前设置一个函数,接收一个参数
- 服务器端运行客户端设置的函数,并设置好能够读取数据的网站
- 为了提前设置的函数不重名,可以设置一个随机函数名,放到 referer 里,后端读取
问:JSONP 是什么?
答:我们在跨域的时候当前浏览器不支持 CORS,我们必须使用另外一种方法跨域,于是我们去请求一个 JS 文件,JS 文件会执行一个回调,回调里面就有我们的数据 ,回调函数的名字是可以随机生成的。
优点:兼容 IE,可以跨域
缺点:
- 由于它是 script 标签,它读不到 AJAX 精确的状态,不知道状态码、响应头等等,只知道成功和失败
- 由于它是 script 标签,他只能发 GET 请求,不支持 POST
「@浪里淘沙的小法师」