JSONP
JOSNP分为请求方和响应方,请求方就是一个网站的前端(浏览器),响应方是另一个网站的后端(服务器),
1.请求方创建script,src指向响应方,同时传一个查询参数 ?callbackName=xxx
2.响应方根据查询参数callbackName,构造形式如
(1). xxx.call(undefined,'你要的数据')
( 2). xxx('你要的数据')
3.浏览器接收到响应,就会执行xxx.call(undefined,'你要的数据')
4.那么请求方就知道了他要的数据。
这样的响应 ,这就是 JSONP
约定、
1. callbackName -> callback
2. xxx -> 随机数 ,这样 就不污染全局变量。(函数名)
前端写法,函数名随机
JQuery 实现 简单写法
附 一 面试题
面试题(99%可能被问到)
1: 请问JSONP为什么 不支持 POST请求
答: - 因为JSONP 是通过script 动态创建的
- 我们动态创建的script 的时候只能用GET 没法用POST
网友评论