假设我有一个域,js.mydomain.com它指向某个IP地址,另一个域requests.mydomain.com,它指向另一个IP地址。.js从js.mydomain.comAjax请求下载的文件可以发送到requests.mydomain.com吗?
js.mydomain.com
requests.mydomain.com
.js
现代浏览器如何严格执行同域策略?
对您的问题的简短回答是:否:对于AJAX调用,您只能访问与加载页面时相同的主机名(和端口/方案)。
有两种解决方法:一种是在其中创建一个URL foo.example.com作为URL 的反向代理bar.example.com。只要主机名匹配,浏览器就不在乎请求的实际位置。如果您已经有一个前端Apache Web服务器,这将不会太困难。
foo.example.com
bar.example.com
另一种选择是AJAST,它可以通过将脚本标签插入文档中来工作。我相信这就是Google API的工作方式。
您可以在以下位置找到有关原产地政策的详细说明:http : //code.google.com/p/browsersec/wiki/Part2