我有以下jQuery:
$.ajax('/contacts_imported', {
dataType : 'json',
data : {
email : cfg.email
},
success : function(data) {
if (data[0].processed) {
alert('Processed is TRUE!');
} else {
alert('Not yet Processed');
}
}
});
我想做的是,让此ajax请求每秒运行一次,直到处理完毕等于True。一旦为True,请运行一个单独的函数并终止计时器/循环。
关于主持人的建议,以便以一种优雅的方式最好地解决这个问题?
谢谢
最佳答案
不要使用间隔,因为您的AJAX请求可能不时超过1秒。因此,将ajax包装在一个函数中,并像这样调用它:
(function makeRequest() {
$.ajax('/contacts_imported', {
dataType : 'json',
data : {
email : cfg.email
},
success : function(data) {
if (data[0].processed) {
alert('Processed is TRUE!');
} else {
setTimeout(makeRequest, 800);
}
}
});
}());
关于javascript - 如何使用计时器设置循环以发出Ajax请求,直到达到响应为止,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18676199/