我有这个轮询脚本来检查服务器上是否创建了一个文本文件。在本地工作很好,但当文件在不同的域上时失败。我如何重写这个以获得跨域支持?
$.ajax({
url: 'http://blah.mydomain.com/test.txt',
type: "GET",
success: function(result) {
//Success!
window.location.replace(Successful.aspx');
},
error: function(request, status, error) {
setTimeout("VerifyStatus(" + pollingInterval + ")");
}
});
修改: 我最终使用YQL来解决跨域问题,虽然它可以正常工作,但YQL实际上很慢,增加了相当多的性能开销。任何人都可以为跨域JQuery调用提出更好的解决方案吗?
答案 0 :(得分:7)
答案 1 :(得分:4)
Ajax不跨域。你最好的办法是在本地域上创建一个检查的php页面,然后用你的ajax调用转到-that-。
答案 2 :(得分:1)
要通过jQuery获取跨域AJAX,您可能需要检查一下: http://github.com/jamespadolsey/jQuery-Plugins/tree/master/cross-domain-ajax/
答案 3 :(得分:0)
现在几乎所有现代浏览器都支持使用CORS协议的跨域,因此您可以使用Ajax jQuery完成工作,而无需编辑脚本代码中的任何内容。更改是您的服务器,您需要使用CORS启用您的服务器。它只是在每个响应中添加头字段到客户端以支持CORS协议的工作。请参阅此处的实施示例。
http://zhentao-li.blogspot.com/2013/06/example-for-enabling-cors-support-in.html