我正在使用jQuery确认min js。并在我的ajax代码中使用alert。
问题是当我的ajax代码首先运行时,它优先考虑locationReload并重新加载。我想首先运行警报然后重新加载。
有一件事我注意到,如果我使用简单ALERT('some')
,那么它可以工作,但这不能。
我的代码如下
success: function(data) {
$.alert({
title: 'Message!',
content: data,
theme: 'material',
animation: 'zoom',
animationBounce: 2.5,
});
//$('#thmb_prev').html(data);
$('#loader').hide();
location.reload();
}
答案 0 :(得分:1)
由于JavaScript解释器在一个线程中执行代码,因此它不会等待对话框关闭。 alert()
阻塞线程直到它被关闭。这就是为什么它似乎在你的情况下正常工作。
但要在此处执行您想要的操作,您需要使用回调,如documentation中所述。
success: function(data) {
$.alert({
title: 'Message!',
content: data,
theme: 'material',
animation: 'zoom',
animationBounce: 2.5,
onClose: function () {
// Do whatever you want when the dialog is about to be closed
location.reload();
}
});
//$('#thmb_prev').html(data);
$('#loader').hide();
}
答案 1 :(得分:0)
您可以使用确认框而不是警报。所以一旦你点击确定,它就会重新加载。试试下面的内容。你可以找到样本here
$.confirm({
title: 'Message!',
content: data,
buttons: {
OK: {
location.reload();
}
}
}
});