我有一个提交表单的Ajax POST函数。在我的beforeSend()函数中,我有一个sweetAlert对话框,它将中止或继续Ajax POST调用。我的问题是成功函数在beforeSend()完成之前触发,即它不会等待用户选择sweetAlert对话框中的一个选项。如何在sweetAlert对话框完成之前暂停Ajax调用?
$.ajax({
method: "POST",
url: url,
data: data,
beforeSend: function(data) {
swal({
buttons: ["No", "Yes"],
successMode: true,
}).then((yes) => {
if (yes) {
swal("Success", {
icon: "success",
buttons: false,
});
} else {
data.abort()
}
});
},
success: function(data) {
// success functions
},
});
答案 0 :(得分:0)
我不确定你想要实现的目标,但如果我能正确理解你可以将ajax POST插入swal本身。
答案 1 :(得分:0)
如何在sweetAlert对话框完成之前暂停Ajax调用?
你做不到。它是异步的。
你最接近的将是总是中止请求,然后在用户点击“是”后重新发送(没有中止)。