Ajax跨域问题的一些解决方法

2016-02-19 19:19 9 1 收藏

今天图老师小编给大家介绍下Ajax跨域问题的一些解决方法,平时喜欢Ajax跨域问题的一些解决方法的朋友赶紧收藏起来吧!记得点赞哦~

【 tulaoshi.com - Web开发 】

现在方法有下面这几种:

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)

Application Proxies : 这种必须通过后台脚本,比如PHP等,实质就是用Ajax读触发本地PHP,然后用PHP读外部文件,并返回给Ajax显示

Script Tag Hack, or On-Demand JavaScript : 一样,要通过后台脚本

Apache Proxy : 这种方法是在Apache服务器中配置

apache's mod_rewrite or mod_proxy : 和上面一样,通过apache设置,偶现在实习这就用的mod_rewrite,测试过,mod_rewrite的响应时间快很多,将近三倍

JSON : 这个其实不是ajax了,从没见过的东西,我看了半天,最后发现其实就是简化了用JavaScript读XML的操作,让解析XML更简单,不能异步,有特定的格式,具体看
http://developer.yahoo.com/common/json.html
http://json.org/
http://del.icio.us/help/json

document.domain : 没成功,郁闷,谁成功了告诉偶一声:)

Digitally sign your scripts : 没看,哈哈,上面的mod_proxy方法解决了,就没看后面了

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)

还有如果是自己的服务器群(比如多台服务器用不同的域名,而一个域的Ajax要读另一个域的文件),可以用一些别的方法,比如用apache建虚拟目录,指向本地的一个文件夹,而这个文件mount另外一台机器的放数据的文件夹,这样就可以象读本地一样读了

测试时请一定要注意浏览器缓存,我测试时老说不成功,结果清空缓存后就好了,哈哈
缓存的解决办法可以直接在url后面加随机参数,比如index.php?a_rand_number

来源:http://www.tulaoshi.com/n/20160219/1620729.html

延伸阅读
标签: Web开发
时间过得好快,又被拉回js战场时, 跨域问题这个伤疤又开疼了. 好在,有jquery帮忙,跨域问题似乎没那么难缠了.这次也借此机会对跨域问题来给刨根问底,结合实际的开发项目,查阅了相关资料,算是解决了跨域问题..有必要记下来备忘. 跨域的安全限制都是指浏览器端来说的.服务器端是不存在跨域安全限制的, 所以通过本机服务器端通过类似httpclient...
标签: Web开发
在一项目中由于需要使用js事件中使用AJAX获取数据信息,但这其中涉及到跨域取数据的问题。在网上搜了好半天最后发现了ADAJAX这样一个东东,貌似可以解决这样的问题: advAJAX.get({     url: "http://www.example.com/page.html",     onSuccess : function(obj) { alert(obj.responseText); } }); 需要先引入...
标签: Web开发
不可否认,我是非常看好AJAX技术的。我以为AJAX技术对于互联网,就像HTML对于互联网一样。但同时又要看到,AJAX技术不能完全取代我们常规的WEB开发技术。AJAX技术有它让人眼睛一亮的优点,同时它也有很多弱点。 我们作为开发人员,不能因为AJAX技术好,就在WEB开发中全部使用AJAX。      对了,不能为了AJAX而AJ...
标签: Web开发
具体情况有: 一、本域和子域的相互访问: http://www.aa.com/和book.aa.com 二、本域和其他域的相互访问: http://www.aa.com/和http://www.bb.com/ 用 iframe 三、本域和其他域的相互访问: http://www.aa.com/和http://www.bb.com/ 用 XMLHttpRequest访问代理 四、本域和其他域的相互访问: http://www.aa.com/和http://www.bb.com/ 用 JS创建...
标签: Web开发
原因: 浏览器安全上做了限制,禁止ajax跨域获得数据。 解决方法: 通过jquery提供的$.getJSON()可以跨域获得JSON格式的数据。优点:兼容性强。 Java后台代码: 代码如下: protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { String callback =req.getParameter("ca...

经验教程

807

收藏

61
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部