1. 回顾 JSONP 的概念与特点
概念:浏览器端通过 <script> 标签的 src 属性,请求服务器上的数据,同时,服务器返回一个函数的调用。这种请求数据的方式叫做 JSONP。
特点:
①
JSONP
不属于真正的
Ajax
请求,因为它没有使用
XMLHttpRequest
这个对象。
②
JSONP
仅支持
GET
请求,不支持
POST
、
PUT
、
DELETE
等请求。
2. 创建 JSONP 接口的注意事项
如果项目中已经配置了 CORS 跨域资源共享,为了防止冲突,必须在配置 CORS 中间件之前声明 JSONP 的接口。否则 JSONP 接口会被处理成开启了 CORS 的接口。示例代码如下:
3. 实现 JSONP 接口的步骤
①
获取
客户端发送过来的
回调函数的名字
②
得到要
通过
JSONP
形式
发送给客户端的数据
③
根据前两步得到的数据,
拼接出一个函数调用的字符串
④
把上一步拼接得到的字符串,响应给客户端的
<script>
标签进行解析执行
4. 实现 JSONP 接口的具体代码
5. 在网页中使用 jQuery 发起 JSONP 请求
调用 $.ajax() 函数,提供 JSONP 的配置选项,从而发起 JSONP 请求,示例代码如下: