关于ligerui子页面关闭后,父页面刷新,重新加载的方法
1、需求在子页面处理完成后,在关闭时刷新并重新加载父页面
$.ajax({
url:'${base.contextPath}/test/test',
type:"post",
dataType:"json",
data:sendata,
async:false,
success:function(data){
if(data.success){
//刷新父页面
window.parent.manager.reload();
dialog.close();//关闭dialog
}else{
//$.ligerDialog.error(data.messageText);
alert(data.messageText);
$.ligerDialog.closeWaitting();
window.parent.manager.reload();
dialog.close();//关闭dialog
}
},
error:function(){
$.ligerDialog.closeWaitting();
dialog.close();//关闭dialog
}
});
关键代码
window.parent.manager.reload(); dialog.close();//关闭dialog
其中manager是父页面定义grid的变量,例如父页面是这样(参照的官网例子)
varmanager,g;
g=manager=window['ordergrid']=$("#ordergrid").ligerGrid({
至于为什么不使用$.ligerDialog.error(data.messageText);
而使用alert(data.messageText);
是因为使用他,当后台出现错误时。前台会多出一个错误弹窗,现在没有解决这个问题,,所以暂时使用alert
后续
经过一段时间,偶然发现可以解决不用alert(),之所以报错是因为.ligerDialog.error(data.messageText);和.ligerDialog.error(data.messageText);和.ligerDialog.closeWaitting();
window.parent.manager.reload(); dialog.close();//关闭dialog
一起使用了,具体也不知道是什么原因,所以就饶了个弯子,
下面重点来了
通过ligerui源码发现.ligerDialog.error()、.ligerDialog.error()、.ligerDialog.success()等方法都有回调函数,于是就可以修改成这样
$.ligerDialog(data.messageText,cc);
下面在写个方法cc()用来关闭和重新刷新
functioncc(){
//刷新父页面
window.parent.manager.reload();
dialog.close();//关闭dialog
}
这样比用alert显示更好看些。
以上这篇关于ligerui子页面关闭后,父页面刷新,重新加载的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。