盒子
盒子

JSONP原理

JSONP(JSON with padding)是利用script标签解决跨域资源共享的一种方式,利用回调。用JSONP抓取到的数据不是JSON,而是任意的JavaScript,用JavaScript解释器运行,而不是用JSON解释器解析

1
2
3
4
5
6
var script = document.createElement('script');
script.src = 'http://www.freegeoip.com/json/?callback=handleResponse';
document.body.insertBefore(script, docuemnt.body.firstChild);
function handleResponse(e) {
console.log(e);
}

可以理解动态创建script标签,并在url后面跟上回调函数,最终script标签里面填充的东西变成

1
handleResponse(response); // 可执行的JavaScript代码

参考

支持一下
扫一扫,支持 Alin
  • 微信扫一扫
  • 支付宝扫一扫