Ajax POST之前的确认对话框/ SweetAlert对话框

时间:2018-05-02 11:05:40

标签: javascript html ajax forms sweetalert

我有一个提交表单的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
    },

});

2 个答案:

答案 0 :(得分:0)

我不确定你想要实现的目标,但如果我能正确理解你可以将ajax POST插入swal本身。

答案 1 :(得分:0)

  

如何在sweetAlert对话框完成之前暂停Ajax调用?

你做不到。它是异步的。

你最接近的将是总是中止请求,然后在用户点击“是”后重新发送(没有中止)。