前言
请看核心代码处的注释
解析:
其实是使用了 parent.location.reload();–>关闭页面
只不过是,因为闭包函数,将parent方法放到了一个变量里
layui回调函数,可以查查这个名词,会有收获
//提交
form.on('submit(component-form-demo1)', function (data) {
var data = layui.table.cache["test-table-page"];
let userId = $('#userId').val();
$.ajax({
'url': '{:Url("newPackageSave")}',
'data': {
'data': data,
'userId': userId,
},
'success': function (data) {
//核心代码
if (data.code == 1) {
//将parent方法,写进变量里
let parent_tmp = parent;
parent.layer.closeAll();//关闭所有弹窗
parent.layer.alert('新增套餐成功!', {
title: '新增成功' //弹出新增成功弹窗
},function (obj) {
layer.close(obj);//关闭新增成功弹窗
//因为是闭包函数,直接在function调用parent方法,不起作用,
parent_tmp.location.reload();//刷新整个页面,不推荐
table.reload('test-table-page', {
});//仅仅刷新表格,推荐
});
} else {
parent.layer.closeAll();
parent.layer.alert('新增套餐失败!', {
title: '新增失败'
});
}
},
'dataType': 'json',//返回的格式
'type': 'post',//发送的格式
});
return false;
});
success部分另一种写法:
'success':if (data.code === 1) {
layer.alert(data.msg, {
title: '成功'
},function () {
layer.closeAll();
location.reload(); //执行重载
});
} else {
layer.closeAll();
layer.alert(data.msg, {
title: '失败'
});
}