我正在尝试使用XDomainRequest(IE8)对返回json的服务进行异步调用。问题是我总是收到一个错误(触发了onerror事件,并且responseText始终为null),我正在使用 fiddler 来检查服务的响应,而且我似乎是正确的(我可以看到json对象returnig),这仅在使用XDomainRequest时在IE8中发生,与JQuery中实现的功能相同。

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

附言:这是我的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 .....

最佳答案

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

关于javascript - XDomainRequest问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4739384/

10-12 12:57