【问题标题】:Confirmation dialog/SweetAlert dialog before Ajax POSTAjax POST 之前的确认对话框/SweetAlert 对话框
【发布时间】:2018-05-02 19:24:01
【问题描述】:

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

});

【问题讨论】:

    标签: javascript html ajax forms sweetalert


    【解决方案1】:

    我不太确定您想要实现什么,但如果我理解正确,您可以将 ajax POST 插入 swal 本身。

    【讨论】:

    • 抱歉不够清楚。我希望 sweetAlert 确认对话框确定 Ajax 函数是否应该发布表单数据。
    【解决方案2】:

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

    你不能。它是异步的。

    您最接近的方法是总是中止请求,然后在用户单击“是”后重新发送(不中止)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-24
      • 2016-02-02
      相关资源
      最近更新 更多