AJAX的跨域问题一般的解决方法有:
代理
客户端发请求到本域服务器,然后再有本域的服务器代理向其他域发送请求,需要服务器端做相应的转发配置
动态添加<script>
可以动态的向DOM中添加
<script type="text/javascript" src="http://other.domain.com/a.js?b=c"></script>
因为在<script>标签的src是允许跨域的, 所以可以由other.domain.com的a.js文件返回的JS实现页面DOM元素的动态操作, 不过这种办法理论上只能做GET的请求,不能发送POST的请求,而且GET本身对要发送的数据长度在不同的浏览器中也是有限制的, 尽管如此,现在很多coder都没有意识到GET和POST的区别
使用FLash
这个方法通传统的AJAX请求非常相似,需要在服务器端放置一个XML文件来允许其他域的AJAX请求,这样的做法shitou还没用过, 可以参考下这篇文章use Flash as a bridge for sending cross-domain requests. (或者XML.com的 write-up of this technique.)
以前的中有介绍PHPRPC的, 其中有对应的Javascript客户端实现, 利用它来实现AJAX的跨域是很方便的工具, 摸我
注意: subdomain(子域)也是属于跨域的说, 比如abc.com和www.abc.com
2009-02-11 15:25:47, 898 reviews, comment
send to mailbox
少年,不点下广告吗!
all by shitou
blog comments powered by Disqus