核心提示:JSONP跨域技术 在CORS出现之前,细心的开发者发现网页上的图片可以从任何网页中加载,如果我们把图片的地址改为我们需要请求跨域的地址,那不就实现跨域了,同样的网页。例子:var img = new...
JSONP跨域技术
在CORS出现之前,细心的开发者发现网页上的图片可以从任何网页中加载,如果我们把图片的地址改为我们需要请求跨域的地址,那不就实现跨域了,同样的网页。
例子: var img = new Image(); img.onload = img.onerror = function(){ // 通过load和error事件监听响应什么时候收到 }; img.src = 'https://www.XXX.com/params?name=XXX';
JSONP是通过动态
例子: function headleRequest(response){ // 处理响应 } var script = document.createElement('script'); script.src = ' https://www.XXX.com/json/?callback=headleRequest '; document.body.insertBefore(script,document.body.firstChild);
JSONP相对于<img />,可以直接访问响应文本,但是因为JSONP是从其他网站加载脚本执行,如果请求的是黑客的网站呢,这样我们的网站就直接执行了黑客的evil脚本,
这是很危险的,所以,使用JSONP时应该防备XSS。