1

我正在创建一个托管在域 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上,所以请求状态是OK的。

谢谢, Laxmilal Menaria

4

3 回答 3

1

您可以尝试将数据类型发送为“jsonp”以进行跨域请求,您可以查看此链接以获取帮助Cross domain Get with Jquery并且此链接可帮助您开始远程 JsonP

来自Jquery.ajax

“jsonp”:使用 JSONP 加载到 JSON 块中。添加一个额外的“?callback =?” 到 URL 的末尾以指定回调。通过将查询字符串参数“_=[TIMESTAMP]”附加到 URL 来禁用缓存,除非缓存选项设置为 true。

于 2012-05-16T06:30:50.503 回答
1

您的浏览器不允许进行跨域调用。如果您从浏览器调用,JSONP 似乎是唯一的选择。

http://en.wikipedia.org/wiki/JSONP

于 2012-05-16T06:30:52.717 回答
0

我认为您需要将跨域请求的“crossDomain”参数设置为 true。请检查这个http://api.jquery.com/jQuery.ajax/

于 2012-05-16T06:37:09.997 回答