JSONP 理解
什么是JSONP
- 请求方:前端程序员(浏览器)
- 响应方:后端程序员(服务器)
这就是 JSONP 的整个过程:
- 请求方创建 script,src 指向响应方,同时传一个查询参数 ?callbackName=xxx
- 响应方根据查询参数 callbackName,构造一个函数调用 xxx.call(undefined, ‘请求方需要的数据’) 这样的响应
- 请求方浏览器收到响应,就会执行 xxx.call(undefined, ‘请求方需要的数据’)
行业约定:
- callbackName -> callback
- xxx -> 名字+随机数
JSONP 请求方代码
// 请求方创建 script |
JSONP 为什么无法支持 POST
- JSONP 是通过动态创建的 script 实现的
- 动态创建的 script 只能用 GET 没法用 POST