数据访问的跨域解决方案:Jsonp
来源:互联网 发布:java微信开发框架搭建 编辑:程序博客网 时间:2024/05/16 11:05
跟iframe脚本跨域调用中所面临的问题一样——js脚本不能跨域直接调用iframe(其它域)的脚本,在浏览器中数据的访问也存在跨域的限制:只要是跨域了,不管是什么服务(如WCF、),什么方式的请求(常用的Ajax请求),都会因为安全考虑被浏览器阻止(浏览器都会遵守基本的安全协议,否则没人改用)。但是浏览器这么做,也大大限制了Web应用跨域访问的灵活性,特别是对于大型应用要考虑的分布式部署访问的。
有人注意到了前端html页面中允许在<javascript src=“..”>中跨域”引用“脚本——注意是“引用”,不是直接“调用”。例如,jquery.js脚本框架广泛用于的各类网站,一般大家做Web应用程序时都会直接从所有人都公认的网站引用jquery.js,而不是将jquery放到自己的应用程序中。一方面利用浏览器缓存,减少对jquery的加载(加载时间),提高性能;另一方面,减少服务器的负载(对于大型应用会考虑到这一点负荷)。
<script type="text/javascript" src="http://www.xxx.com/1.7/jquery.js"></script>
“引用”的脚本,虽然不是直接调用,但也会在浏览器执行的。充分利用这一点漏洞,更确切地说充分利用这一特性,就解决了跨域访问数据的问题,并称之为JsonP技术。实际上,跟iframe脚本跨域调用一样,都是在js脚本允许范围内的非正常使用,却完美地解决了绕过了浏览器跨域的限制。
$.ajax({dataType:'jsonp',data:'id=10',jsonp:'jsonp_callback',url:'http://www.xxx.com/getdata',success:function(){//dosomething},});
之前使用Jquery的Ajax时,在数据返回类型中看到jsonp(Json with Padding),因为跟其它数据返回类型text、json、xml等放一起,还以为跟json一样一种数据格式。当时没怎么注意,以为是在json的基础上加了料。后来才发现,Jsonp只是一跨域访问数据解决方案,特此记录一下。
- 数据访问的跨域解决方案:Jsonp
- 用JSONP实现的跨域访问的解决方案
- ajax 跨域访问 jsonp解决方案
- jsonp的跨域访问
- jsonp实现json数据跨域访问
- JSONP解决跨域访问数据问题
- Ajax跨域访问解决方案(httpclient、JSONP深入剖析)
- jsonp实现ajax跨域访问解决方案-java
- jsonp跨域解决方案
- JSONP 跨域解决方案
- 跨域解决方案JSONP
- jsonp 跨域访问
- JSONP跨域访问
- jsonp跨域访问
- Jsonp 跨域访问
- 跨域访问jsonp
- Jsonp 跨域访问
- JSONP 跨域访问
- 字母图形
- Nginx+PHP-FPM优化技巧总结(转)
- 移动端点击事件延迟300毫秒
- UICollectionView的简单介绍
- 3.You need to extract details of those products in the SALES table where the PROD_ID column contains
- 数据访问的跨域解决方案:Jsonp
- CentOs安装Python3
- 开窗函数简介
- Java web开发环境搭建历险记
- 网易彩票项目总结
- 莫比乌斯反演
- 极客学院视频免费看
- Java集合:图
- CAA 控制台窗口的输出