我怎样才能绕过相同的原产地政策?

时间:2009-11-27 19:30:01

标签: javascript ajax

我需要使用AJAX来获取位于与加载AJAX的服务器不同的服务器上的另一个页面的内容。 AJAX需要发送POST请求然后返回结果。我怎么能这样做?

4 个答案:

答案 0 :(得分:3)

在您自己的服务器上设置代理。让服务器调用他们的服务器并返回结果。

答案 1 :(得分:2)

如果您控制两台服务器,则可以使用cross-origin resource sharing的其中一个HTTP标头字段:

http://www.petefreitag.com/item/703.cfm

https://developer.mozilla.org/En/HTTP_access_control

答案 2 :(得分:1)

没有办法绕过这个政策。这项政策有很好的理由。 只要您控制Web应用程序,这也没问题。您只需将呼叫从Web服务器重定向到其他服务器并传递结果即可。这可以像代理一样工作。

答案 3 :(得分:0)

如果你想在客户端和跨浏览器上这样做,你需要与其他服务器合作。

通过:

1)使用JSONP(使用回调函数注入脚本标记)
但是只能进行GET调用 安全性是一个问题,因为脚本可以访问该页面中的所有资源(数据,cookie,...)。这是一篇文章,解释如何sandbox them并保持页面中的数据安全。

2)使用Kris Zip的window.name technique

查看POST

如果不能与其他服务器合作,据我所知,其他答案中描述的服务器代理是剩下的唯一选择。