JQuery ajax跨域调用和权限问题

我有这个轮询脚本来检查是否在服务器上创建了一个文本文件。 在本地工作很好,但当文件在不同的域上时失败。 我如何重写这个跨域支持?

$.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调用建议更好的解决方案吗?

在$ .ajax()调用上将dataType设置为“JSONP”。 您必须确保响应格式正确才能生效。 维基百科有一个很好的JSONP部分。

Ajax不会跨域。 你最好的办法是在本地域上创建一个检查的php页面,然后用你的ajax调用转到-that-。

要通过jQuery获取跨域AJAX,您可能需要检查一下: http : //github.com/jamespadolsey/jQuery-Plugins/tree/master/cross-domain-ajax/

几乎现代的浏览器现在都支持使用CORS协议的跨域,因此您可以使用Ajax jQuery来完成工作,而无需在脚本代码中编辑任何内容。 更改进入您的服务器,您需要使用CORS启用您的服务器。 这只是在每个响应中向客户端添加头字段以支持CORS协议的工作。 请参阅此处的实施示例。

http://zhentao-li.blogspot.com/2013/06/example-for-enabling-cors-support-in.html