这里先假定两个网站分别是a.com和b.com
请求方:a.com的前端程序员(浏览器)
响应方:b.com的后端程序员(服务器)
1、请求方动态创建script, src指向响应方,同时传递查询参数?callback=xxx
2、响应方根据查询参数callback, 构造形如:xxx.call(undefined, ‘success’)这样的响应
3、浏览器器接收响应,执行返回的js代码:xxx.call(undefined, ‘success’)
4、‘success’这类数据就是前端需要后台返回的结果
以上就是JSONP
JSONP一般有以下约定:
1、查询参数的key一般叫callback
2、回调函数名xxx一般是随机数的形式,以免污染全局变量