function handleResponse (response) {
console.log('u r at IP address ' + response.ip + ', which is in ' + response.city + ', ' + response.region_name);
}
var script = document.createElement('script');
script.src = https://www.isolves.com/it/cxkf/yy/js/2019-07-09/'http://xxx.net/json/?callback=handleResponse';
document.body.insertBefore(script, document.body.firstChild);
这个例子通过查询地理定位服务来显示IP地址和地理位置信息 。
JSONP之所以在开发人员中极为流行 , 主要原因是它非常简单易用 。与图像Ping相比 , 它的优点在于能够直接访问响应文本 , 支持在浏览器与服务器之间双向通信 。不过 , JSONP也有两点不足 。
首先 , 安全性问题 。JSONP是从其他域中加载代码执行 。如果其他域不安全 , 很可能会在响应中夹带一些恶意代码 , 而此时除了完全放弃JSONP调用之外 , 没有办法追究 。因此在使用不是自己运维的Web服务时 , 一定得保证它安全可靠 。
其次 , 要确定JSONP请求是否失败并不容易 。
CORS和JSONP对比
JSONP只能实现GET请求 , 而CORS支持所有类型的HTTP请求 。使用CORS , 开发者可以使用普通的XMLHttpRequest发起请求和获得数据 , 比起JSONP有更好的错误处理 。SONP主要被老的浏览器支持 , 它们往往不支持CORS , 而绝大多数现代浏览器都已经支持了CORS 。
推荐阅读
- 吃完辣的喝水会怎么样 吃完辣椒喝水能补救吗
- C语言和C++最大的区别
- 瓷砖容易破什么原因造成 贴了的瓷砖破了是什么原因
- 阿里云ECS的CPU100%排查
- 送领导的喜糖是不是得特别一点 发喜糖给领导说什么话好
- 看看顶级互联网公司都在研究的无服务器架构,看完收获满满
- 还不懂 Java 中的多线程?
- 冬天袜子买什么颜色好 买丝袜应该买什么颜色的
- Java源码中>>,>>>的区别是啥?我给你彻底讲清
- 车厘子吃起来是什么味道 车厘子吃起来辣辣的是什么原因