今天编码时发现一个问题
用ajax提交form表单时,success中的layer.msg中的时间设置不起作用,总是一闪而过。
<script th:inline="javascript">
function deleteMould() {
var id = [[${mouldOne.id}]];
layer.confirm('确认要删除吗?',function(){
$.ajax({
type: 'GET',
url: "/admin/mould/deleteMould",
data:{"id":id},
success: function(data){
if(data.code == "1"){
layer.msg('删除成功!',{time:2000});
window.location.href= "/admin/mould";
}else{
layer.msg('应用中不允许删除!',{time:1000});
window.location.href= "/admin/mould";
}
},
error:function() {
layer.msg('删除异常!',{time:1000});
},
});
});
执行时方法中的弹窗会一闪而过,直接跳转界面。
查阅资料后发现是自己的问题,这样写layer.msg()方法不能阻止window.location.href方法的跳转,所以才会一闪而过
文档中说明:
layer.msg(data.message, {time: 2000}, function() {
//将页面回调函数放这里
location.reload();
});
所以应该改为:
layer.msg('删除成功!',{time: 2000}, funcion(){
window.location.href= "/admin/mould";
});