JavaScript

超轻量级php框架startmvc

关于ligerui子页面关闭后,父页面刷新,重新加载的方法

更新时间:2020-09-16 03:54:01 作者:startmvc
1、需求在子页面处理完成后,在关闭时刷新并重新加载父页面$.ajax({url:'${base.contextPath}/test/

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的变量,例如父页面是这样(参照的官网例子)


 var manager, 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()用来关闭和重新刷新


 function cc(){
 //刷新父页面
 window.parent.manager.reload();
 dialog.close();//关闭dialog
 }

这样比用alert显示更好看些。

以上这篇关于ligerui子页面关闭后,父页面刷新,重新加载的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

ligerui 子页面 父页面 刷新 加载