这个问题让我很生气,我已经花了几个小时研究可能的解决方案:)
我的问题是:我有一个脚本,加载后,对服务器进行一些AJAX调用。此脚本是一个小部件,已经为跨域等配置
到目前为止,当1个请求停止工作时,一切正常。疯狂的是,只有那一个,其他人工作得很好。
这是我用来发送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%的时间内发生