从其他域无法使用Jquery获取请求?

时间:2012-05-16 06:27:04

标签: jquery cross-domain

我正在创建一个托管在域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

3 个答案:

答案 0 :(得分:1)

您可以尝试将数据类型作为“jsonp”发送给跨域请求,您可以查看此链接以获取帮助Cross domain Get with Jquery,此链接也可以帮助您开始remote JsonP

来自Jquery.ajax

  

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

答案 1 :(得分:1)

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

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

答案 2 :(得分:0)

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