我在循环中有这个帖子代码(虽然我< 10)并且我试图延迟每个帖子5秒但是正在做的是延迟5秒并且一次发送所有10个帖子
有没有办法在循环中的jQuery或Ajax中间隔或延迟每个帖子?
$(document).ready(function() {
setTimeout(function(){
$.post("Trigger.aspx", { phone: phoneval,
sms: smsval }, function(data) {
$('.result').html(data);
});
},5000);
return false;
});
答案 0 :(得分:1)
据我记得jquery的ajax调用有一个beforeSend函数可能解决你的问题
答案 1 :(得分:1)
只需使用增加的延迟:
$(document).ready(function() {
for(var i = 0; i < 10; i++) {
setTimeout(function(){
$.post("Trigger.aspx", {
phone: phoneval,
sms: smsval
}, function(data) {
$('.result').html(data);
});
}, 5000 * i);
}
});
如果第一个POST应延迟5秒,请使用5000 * (i + 1)
或将您的循环更改为for(var i = 1; i <= 10; i++)
。