PHP程序员站--PHP编程开发平台
 当前位置:主页 >> 网页制作 >> Ajax >> 

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

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

来源:网络转载  作者:未知  发布时间:2008-07-21
网上已经有很多资料 http://www.xml.com/lpt/a/2005/11 ... ide

网上已经有很多资料
http://www.xml.com/lpt/a/2005/11 ... idered-harmful.html
http://developer.yahoo.com/javascript/howto-proxy.html
这两个网址有比较全的解决方法

现在方法有下面这几种:
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方法解决了,就没看后面了

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

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

Tags: ajax   跨域   方法   解决   问题   文件   ajax  
最新文章
推荐阅读
月点击排行榜
PHP程序员站 Copyright © 2007-2010,PHPERZ.COM All Rights Reserved 粤ICP备07503606号