我正在创建一个托管在域example.com上的Web应用程序,我想下载一个1 MB的二进制文件来检查下载速度,如果二进制文件托管在同一个域上,它的工作正常。
但是当我尝试使用其他域名时,它就会停止工作。我尝试了跨域属性,但注意到了。
我的代码如下:
jQuery143.ajax({
type: 'GET',
url: 'http://example2.com/myfile.bin?id=xxxxxxx',
dataType: 'application/octet-stream',
success: function (msg) {
},
complete: function (xhr, textStatus) {
}
});
当我用“example.com”替换“example2.com”时,它的工作正常。所以,请让我知道如何解决这个问题。
我将crossdomain.xml放在example2.com上,因此请求状态正常。
谢谢, Laxmilal Menaria
答案 0 :(得分:1)
您可以尝试将数据类型作为“jsonp”发送给跨域请求,您可以查看此链接以获取帮助Cross domain Get with Jquery,此链接也可以帮助您开始remote JsonP
“jsonp”:使用JSONP加载JSON块。添加一个额外的 “?回调=?”到URL的末尾以指定回调。禁用 通过将查询字符串参数“_ = [TIMESTAMP]”附加到缓存来缓存 URL除非cache选项设置为true。
答案 1 :(得分:1)
您的浏览器不允许进行跨域调用。如果您从浏览器调用,JSONP似乎是唯一的选择。
答案 2 :(得分:0)
我认为您需要将跨域请求的'crossDomain'参数设置为true。 请检查一下http://api.jquery.com/jQuery.ajax/