打开新的甜蜜提醒对话框时,如何消失第一个对话框的痕迹?

时间:2018-10-16 13:45:47

标签: javascript sweetalert

当用户单击该按钮时,我有一个删除按钮,我想要一个甜美的警报,要求进行确认,一旦用户单击“是”并确认,则我想消失当前的确认警报,并显示另一个警报,告诉用户已删除,然后在2秒后页面重新加载。 我已经做到了,但是我的问题是,当用户单击确认警报时,他会收到另一个警报,但带有一些先前警报的踪迹。 (this is the snip showing trails in red boxe)(我之所以没有在这里上传它们,是因为我因名声不好而无法上传。)

我的js是

function deleteUser(userRow) {
var objUserRow = jQuery.parseJSON(unescape(userRow));


swal({
    title: "Are you sure?",
    text: "You will not be able to recover this user again",
    type: "warning",
    showCancelButton: true,
    closeOnConfirm: false,
    showLoaderOnConfirm: true,
    closeOnClickOutside: false,
}, function (isConfirm) {


    if (isConfirm) {
        $.ajax({
            url: '../users/deleteUser',
            type: 'POST',
            data: objUserRow,
            success: function (data) {

                if (data == "success") {
                    //swal("User Deleted!");

                    swal({
                        title: "Deleted!",
                        text: "User has been deleted successfully!",
                        type: "success",
                        showConfirmButton: false,
                        closeOnClickOutside: false
                    });
                    setTimeout(function () { location.reload(); }, 2000);

                } else if (data == "error") {
                    //this could be due to server side validation or server side error 
                    swal("Error!", "An error has occured at server side", "error");
                }
            },
            error: function () {
                swal("Error!", "An error has occured at server side", "error");
            }

        });
    }



});


    }

我做错了我。请帮助

1 个答案:

答案 0 :(得分:0)

尝试使用诺言 https://sweetalert.js.org/guides/?_sm_au_=i0HmMJQJFSN6506q#using-promises

swal({
    title: "Are you sure?",
    text: "You will not be able to recover this user again",
    type: "warning",
    showCancelButton: true,
    closeOnConfirm: false,
    showLoaderOnConfirm: true,
    closeOnClickOutside: false,
}).then((isConfirm) => {


    if (isConfirm) {
        $.ajax({
            url: '../users/deleteUser',
            type: 'POST',
            data: {},
            success: function (data) {

                if (data == "success") {
                    //swal("User Deleted!");

                    swal({
                        title: "Deleted!",
                        text: "User has been deleted successfully!",
                        type: "success",
                        showConfirmButton: false,
                        closeOnClickOutside: false
                    });
                    setTimeout(function () { location.reload(); }, 2000);

                } else if (data == "error") {
                    //this could be due to server side validation or server side error 
                    swal("Error!", "An error has occured at server side", "error");
                }
            },
            error: function () {
                swal("Error!", "An error has occured at server side", "error");
            }

        });
    }



});
<script src="https://unpkg.com/sweetalert/dist/sweetalert.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>