2017-04-13 39 views
1

如何使用sweetalert进行没有确认按钮的Ajax调用,但仍显示加载gif?基本上我希望在Ajax调用运行时显示加载gif。开箱即用的解决方案要求您在Ajax调用之前启用确认按钮。Sweet Alert - 没有确认按钮的Ajax调用

下显然是行不通的:

window.swal({ 
    title: "Checking...", 
    text: "Please wait", 
    imageUrl: "images/ajaxloader.gif", 
    showConfirmButton: false, 
    allowOutsideClick: false 
}, 
function() { 
    $.getJSON('myurl').done(function (data) { 
     swal("", "Good job!", "success"); 
    }).fail(function (jqXHR, textStatus, err) { 
     swal("", "An error occurred", "error"); 
    }); 
}); 
+0

https://limonte.github.io/sweetalert2/#ajax-request –

回答

4

你不需要做任何特殊。显示swal之后,只需进行ajax调用,并在ajax完成时再调用swal。

window.swal({ 
 
    title: "Checking...", 
 
    text: "Please wait", 
 
    imageUrl: "images/ajaxloader.gif", 
 
    showConfirmButton: false, 
 
    allowOutsideClick: false 
 
}); 
 

 
//using setTimeout to simulate ajax request 
 
setTimeout(() => { 
 
    window.swal({ 
 
    title: "Finished!", 
 
    showConfirmButton: false, 
 
    timer: 1000 
 
    }); 
 
}, 2000);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<script src="https://cdnjs.cloudflare.com/ajax/libs/sweetalert/1.1.3/sweetalert-dev.js"></script> 
 
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/sweetalert/1.1.3/sweetalert.css" />