我正在使用一个非常糟糕的端点......所以请理解我将无法更改此端点的行为方式。
这个 ajax 调用是:POST /doStupidThing/。
给定一个 id 列表,我需要为每个 id 调用端点。如何确保在上一个呼叫完成之前不会触发呼叫?我应该将 async 设置为 false 吗?
是的,您可以尝试将 async 设置为 false
只是为了记录,做事的更好方法是让自己使用 Jquery promise 接口
这个 SO answer 更详细地介绍了这一点,并讨论了延迟对象。
您可以做的一件事是在 .done 函数中进行下一个 ajax 调用。
function SecondAjax() {
$.ajax({
type: "POST",
url: "example.php",
data: data_obj,
dataType: "html"
}).done(function(msg) {
#You can put a third one in here
#This should also give you an idea of how to loop.
}
}
function firstAjax() {
$.ajax({
type: "POST",
url: "example.php",
data: data_obj,
dataType: "html"
}).done(function(msg) {
SecondAjax()
}
}