有人可以帮助我,我想在ajax请求成功完成后每秒执行ajax,我的问题是ajax继续执行,即使它还没有准备好。
这是我的代码:
$(document).ready(function () {
process();
function process(){
$.ajax({
type: "POST",
url: "/AjaxAvailableSeats",
async: false,
success: function (d) {
//alert(f_code);
$('#available_seatResult').html(d);
setTime();
},
error: function (req, status, errorObj) {
alert(errorObj.toString());
}
})
}
function setTime(){
setTimeout(process, 1000);
}
});
答案 0 :(得分:0)
process();
function process() {
$.ajax({
type: "POST",
url: "/AjaxAvailableSeats",
async: false,
success: setInterval(function () {
process();
}, 1000),
error: function (req, status, errorObj) {
alert(errorObj.toString());
}
});
}
你只能再次成功调用函数本身,延迟1秒(1000毫秒)
答案 1 :(得分:0)
只有在上一个ajax完成后才会执行下一个ajax:
function process(){
return $.ajax({ .... });
}
var request = process();
var interval = setInterval(function(){
if(request.readyState == 4 && request.status == "200"){
request = process();
}else if(request.status != "200"){
clearInterval(interval);
alert("ajax error");
}
},1000);