XDomainRequest问题 [英] XDomainRequest problem

查看:730
本文介绍了XDomainRequest问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试图让该返回使用XDomainRequest(IE8)JSON的服务的异步调用。现在的问题是,我总是得到一个错误(onerror事件被解雇,这个responseText总是空),我使用招来检查服务的响应,我似乎是正确的(我可以看到JSON对象returnig)这只能使用XDomainRequest发生时,在IE8中,在JQuery中实现相同的功能工作正常。

任何线索将AP preciated。谢谢!

P.S:这是我的javascript code:

  .....
  如果(jQuery.browser.msie&安培;&安培; window.XDomainRequest){
    //使用Microsoft XDR
    VAR XDR =新XDomainRequest();
    xdr.open(后,网址);
    xdr.onload =功能(){
       警报(加载);
       警报(xdr.responseText);
    };
    xdr.onsuccess =功能(){
       警报(成功!);
       警报(xdr.responseText);
    };
    xdr.onerror =功能(){
       警报(错误!);
       警报(xdr.responseText);
    };
    xdr.onprogress =功能(){
       警报(进步);
       警报(xdr.responseText);
    };
    xdr.timeout = 1000;
    xdr.send(数据:+逸出(数据));
    VAR响应= xdr.responseText;
 } 其他 .....
 

解决方案

您确保该服务发送一个访问控制 - 允许 - 原产地 -header匹配请求URL?

I'm trying to make a asynchronous call to a service that returns json using XDomainRequest (IE8). The problem is that i always get an error (the onerror event is fired, and the responseText is always null), i'm using fiddler to check the response of the service and i seems right (I can see the json object returnig), this only happen in IE8 when using XDomainRequest, the same functionality implemented in JQuery works fine.

Any clue would be appreciated. Thanks!

P.S.: This is my javascript code:

.....
  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 .....

解决方案

Are you sure that the service is sending a Access-Control-Allow-Origin-header matching the requesting URL?

这篇关于XDomainRequest问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆