Javascript 如何知道已经到达ajax的最后一个响应?
我试图捕捉/知道最后一次达到200(成功)的时间,并做一些事情,例如退出 我怎么知道它最后一次达到了200 下面是我的代码 //调用save和checkstatus函数的Main函数Javascript 如何知道已经到达ajax的最后一个响应?,javascript,ajax,jquery,Javascript,Ajax,Jquery,我试图捕捉/知道最后一次达到200(成功)的时间,并做一些事情,例如退出 我怎么知道它最后一次达到了200 下面是我的代码 //调用save和checkstatus函数的Main函数 $(function () { $("#saveChange").click(function () { save().complete(function (jqXHR, responseText) { var stat = jqXHR
$(function () {
$("#saveChange").click(function () {
save().complete(function (jqXHR, responseText) {
var stat = jqXHR.status;
if (stat == 200) {
console.log("inside 200");
setTimeout(function () {
checkServerStatus().complete(function (jqXHR, responseText) {
if (jqXHR.status == 200) {
console.log("inside 200");
setTimeout(function () {
checkServerStatus().complete(function (jqXHR, responseText) {
count = 0;
count++;
max = 10;
if ((count <= max) && (jqXHR.status == 200)) {
checkServerStatus();
//alert(count);
}
});
if (jqXHR.status == 500) {
// alert(" 500 setimeout inside 500 status "+jqXHR.status + responseText);
} else if (jqXHR.status == 200) {
// alert(" 200 setimeout inside 200 status "+jqXHR.status + responseText);
}
}, 9000);
} else if (jqXHR.status == 500) {
// 500 error no submission
console.log("inside 500");
//alert(" 300 setimeout inside 500 status "+jqXHR.status + responseText);
checkServerStatus();
} else {
alert("else");
}
});
}, 6000);
}
});
});
});
});
$(函数(){
$(“#保存更改”)。单击(函数(){
save().complete(函数(jqXHR,responseText){
var stat=jqXHR.status;
如果(统计=200){
控制台日志(“内部200”);
setTimeout(函数(){
checkServerStatus().complete(函数(jqXHR,responseText){
如果(jqXHR.status==200){
控制台日志(“内部200”);
setTimeout(函数(){
checkServerStatus().complete(函数(jqXHR,responseText){
计数=0;
计数++;
最大值=10;
如果((count关于重试ajax请求有一个很好的讨论。我建议您自己处理延迟。通过这种方式,您可以创建一个虚拟延迟,根据自己的意愿解决或拒绝它,然后像往常一样进行链操作
function checkServerStatus() {
var dfd = new $.deferred();
$.ajax({
url : 'ajaxurl.json',
tryCount : 0,
retryLimit : 3,
success : function(json) {
dfd.resolve();
},
error : function(xhr, textStatus, errorThrown ) {
if (this.tryCount++ <= this.retryLimit) {
//try again
$.ajax(this);
return;
}
dfd.reject();
}
});
return dfd;
}
查看jQuery.ajaxSetup()-
checkServerStatus().then(function() {
// success!
}, function() {
// reached retry limit :(
});