Ajax调用被取消

时间:2018-03-16 13:02:28

标签: javascript ajax

这个问题让我很生气,我已经花了几个小时研究可能的解决方案:)

我的问题是:我有一个脚本,加载后,对服务器进行一些AJAX调用。此脚本是一个小部件,已经为跨域等配置

到目前为止,当1个请求停止工作时,一切正常。疯狂的是,只有那一个,其他人工作得很好。

您可以在下面的屏幕截图中看到: enter image description here

这是我用来发送AJAX请求的代码:

ajax: {
  xhr: null,
  request: function (url, method, data, success, failure){
    if (!this.xhr){
      this.xhr = window.ActiveX ? new ActiveXObject("Microsoft.XMLHTTP"): new XMLHttpRequest();
    }
    var self = this.xhr;

    self.onreadystatechange = function () {
      if (self.readyState === 4 && self.status === 200){
        success(JSON.parse(self.responseText));
      } else if (self.readyState === 4) { // something went wrong but complete
        if (failure) {
          failure();
        } else { console.error("Ajax calls has failed."); }
      }
    };
    self.onerror = function() {
      if (failure) {
        failure();
      } else { console.error("Ajax calls has failed."); }
    };
    this.xhr.open(method,url,true);
    this.xhr.setRequestHeader('Content-Type', 'application/json');
    this.xhr.send(JSON.stringify(data));
  }
}

这是引起问题的电话:

this.ajax.request(
  this.getWidgetUrl() +"/check_referral_code",
  "POST",
  {uuid: SL.uuid, ref_code: ref},
  function(data) {
    if (data.response == "ok") {
      // Do something
    } else {
      console.error(data.message);
    }
  },
  function(data) {
    console.error(data.message);
  }
);

有人可以帮忙吗?

更新: 问题似乎是间歇性的。如果我重新加载页面,它将在50%的时间内发生

0 个答案:

没有答案