Ajax跨域解决办法
来源:互联网 发布:php用来做什么的 编辑:程序博客网 时间:2024/06/06 01:50
1、Web代理的方式。即用户访问A网站时所产生的对B网站的跨域访问请求均提交到A网站的指定页面,由该页面代替用户页面完成交
互,从而返回合适的结果。此方案可以解决现阶段所能够想到的多数跨域访问问题,但要求A网站提供Web代理的支持,因此A网站与
B网站之间必须是紧密协作的,且每次交互过程,A网站的服务器负担增加,且无法代用户保存session状态。
2、on-Demand方式。MYMSN的门户就用的这种方式,不过MYMSN中不涉及跨域访问问题。动态控制script标记的生成,通过修改
script标记的src属性完成对跨域页面的调用。此方案存在的缺陷是,script的src属性完成该调用时采取的方式时get方式,如果请
求时传递的字符串过大时,可能会无法正常运行。不过此方案非常适合聚合类门户使用。
3、iframe方式。查看过醒来在javaeye上的一篇关于跨域访问的帖子,他提到自己已经用iframe的方式解决了跨域访问问题。数据
提交跟获取,采用iframe这种方式的确可以了,但由于父窗口与子窗口之间不能交互(跨域访问的情况下,这种交互被拒绝),因
此无法完成对父窗口效果的影响。
4、用户本地转储方式:IE本身依附于windows平台的特性为我们提供了一种基于iframe,利用内存来“绕行”的方案,即两个
window之间可以在客户端通过windows剪贴板的方式进行数据传输,只需要在接受数据的一方设置Interval进行轮询,获得结果后清
除Interval即可。FF的平台独立性决定了它不支持剪贴板这种方式,而以往版本的FF中存在的插件漏洞又被fixed了,所以FF无法通
过内存来完成暗渡陈仓。而由于文件操作FF也没有提供支持(无法通过Cookie跨域完成数据传递),致使这种技巧性的方式只能在
IE中使用。
5、结合了前面几种方式,在访问A网站时,先请求B网站完成数据处理,再根据返回的标识来获得
所需的结果。这种方法的缺点也很明显,B网站的负载增大了。优点,对session也实现了保持,同时A网站与B网站页面间的交互能
力增强了。最重要的一点,这种方案满足了我的全部需要。
总结一下,以上方案中可选择的情况下,我最推荐on-Demand方式,在不需要提交大量数据的情况下,这种方式能够解决您的大部分问题。
方案原文在:
- Ajax跨域解决办法
- ajax跨域解决办法
- ajax 跨域解决办法。
- ajax跨域的解决办法
- ajax跨域的解决办法
- 有关AJAX跨域的解决办法-JSONP
- 有关AJAX跨域的解决办法-JSONP
- ajax跨域请求的解决办法
- ajax 跨域的几种解决办法
- ajax 浏览器跨域问题的解决办法
- ajax跨域请求的解决办法
- ajax跨域问题的解决办法
- ajax跨域问题分析及解决办法
- AJAX跨域名访问解决办法
- ExtJs Ajax 跨域问题的解决办法(Jsonp)
- 求ajax跨域请求js拒绝访问解决办法
- ExtJs Ajax 跨域问题的解决办法(Jsonp)
- 关于Ajax跨域访问问题的一种解决办法
- 关于Xampp一键环境包解决双…
- Ubuntu中搭建PHP开发环境
- JAVA 中BIO,NIO,AIO的理解
- U盘制作Ubuntu系统启动盘
- sphinx 实时索引更新
- Ajax跨域解决办法
- MySQL+Sphinx安装全步骤
- JS+JQ简单的表单失焦验证
- iOS,沙盒,做数据持久化的时候,有时候需要查看沙盒路径
- 关于SQL注入
- ThreadPoolExecutor使用和思考
- 大数据解决方案
- MemcacheQ(消息队列)
- 使用MySQL的开发者需了解的…