EMP*_*EMP 10 ajax xmlhttprequest cross-domain
我的网站使用XMLHttpRequest(实际上是jQuery).我还有另一个站点在同一台服务器上运行,它提供一个脚本文件,使XHR请求返回到该站点,即.
http:// mysite:50000/index.html包含
<script src="http://mysite:9000/otherscript.js"></script>
Run Code Online (Sandbox Code Playgroud)
和http:// mysite:9000/otherscript.js包括
$.ajax({
url: 'http://mysite:9000/ajax/stuff'
});
Run Code Online (Sandbox Code Playgroud)
问题是 - 这不起作用.来自加载脚本的AJAX请求失败,没有错误消息.从我能够发现的这是旧的同源政策.鉴于我控制了两个站点,我能做些什么才能使这项工作成功?"document.domain"技巧似乎没有为XMLHttpRequest做任何事情.
nik*_*oss 10
您可以通过添加Access-Control-Allow-Origin标题来完成此操作.
如果您使用的是PHP
header("Access-Control-Allow-Origin: http://example.com");
Run Code Online (Sandbox Code Playgroud)
或者在Node.js中
response.writeHead(200, {'Access-Control-Allow-Origin':' http://example.com'});
Run Code Online (Sandbox Code Playgroud)
这应该为你做的伎俩.它总是适合我.
不,不能用XHR做到这一点.同域策略在那里是非常严格的 - 相同的主机,相同的端口,相同的协议.抱歉! 您将不得不求助于其他技巧(iframe,标题操作等)才能使其发挥作用.