首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >XDomainRequest问题

XDomainRequest问题
EN

Stack Overflow用户
提问于 2011-01-20 02:53:00
回答 4查看 23.6K关注 0票数 8

我正在尝试对一个使用XDomainRequest (IE8)返回json的服务进行异步调用。问题是我总是得到一个错误( onerror事件被触发,responseText总是为空),我正在使用fiddler检查服务的响应,我看起来是正确的(我可以看到json对象返回),这只在使用XDomainRequest时在IE8中发生,在JQuery中实现的相同功能工作得很好。

任何线索都将不胜感激。谢谢!

附言:这是我的javascript代码:

代码语言:javascript
复制
.....
  if (jQuery.browser.msie && window.XDomainRequest) {
    //Use Microsoft XDR
    var xdr = new XDomainRequest();
    xdr.open("post", url);
    xdr.onload = function () {
       alert("Loading");
       alert(xdr.responseText);
    };
    xdr.onsuccess = function() {
       alert("Success!");
       alert(xdr.responseText);
    };
    xdr.onerror = function() {
       alert("Error!");
       alert(xdr.responseText);
    };
    xdr.onprogress = function() {
       alert("Progress");
       alert(xdr.responseText);
    };
    xdr.timeout = 1000;
    xdr.send("data: " + escape(data));
    var response = xdr.responseText;
 } else .....
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-01-20 05:06:25

您确定服务正在发送与请求的Access-Control-Allow-Origin-header匹配的URL吗?

票数 8
EN

Stack Overflow用户

发布于 2011-02-10 01:40:30

您的问题可能是发送的内容类型,因为XDomainRequest只支持“文本/纯文本”。

参考:http://blogs.msdn.com/b/ieinternals/archive/2010/05/13/xdomainrequest-restrictions-limitations-and-workarounds.aspx

干杯,

安德烈·佩德罗索

票数 7
EN

Stack Overflow用户

发布于 2012-03-28 07:33:45

一年前的帖子,你还在吗,GiaNU?!您正在调用xdr.onsuccess,但我认为该方法不存在。xdr.onload可以工作,看起来相当于jQuery的AJAX“成功”函数。

这个X-Domain的东西是非常新的,但现在有一个非常好的工作模型可以从MS这里获得:AJAX - Introducing Cross-domain Request (XDR)

我不能做一件事,但还没找到需要的xdr.ontimeout :)我先用jQuery启动并运行,现在用ie9感谢MS帖子。

XDR对我当前应用程序的计时有一些问题,只是使用了一个超时来处理它:

代码语言:javascript
复制
xdr.onload = setTimeout( function(){ doIt( xdr.responseText ), 2000});
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4739384

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档