我有以下代码:
$('#DoButton').click(function (event) {
event.preventDefault();
$("input:checked").each(function () {
var id = $(this).attr("id");
$("#rdy_msg").text("Starting" + id);
doAction(id);
});
});
function doAction(id) {
var parms = { Id: id };
$.ajax({
type: "POST",
traditional: true,
url: '/adminTask/doAction',
async: false,
data: parms,
dataType: "json",
success: function (data) {
$("#rdy_msg").text("Completed: " + id);
},
error: function () {
var cdefg = data;
}
});
}
当单击按钮时,它会检查表单,并为每个检查的输入调用 doAction(),然后 doAction() 调用 Ajax 函数。我想让它全部同步,在一个调用完成和下一个调用运行之间有 2 秒的延迟。延迟是为了让用户有时间看到最后一个操作已完成。
通过设置 async=false 真的会让 ajax 函数等待吗?
如何在 Ajax 运行之后、下次调用 doAction 之前添加 2 秒的等待?
最佳答案
关于javascript - 如何从 Javascript 同步运行 Ajax 函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6482333/