网络编程 
首页 > 网络编程 > 浏览文章

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

(编辑:jimmy 日期: 2024/11/14 浏览:3 次 )

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子页面关闭后,父页面刷新,重新加载的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

上一篇:jquery 回调操作实例分析【回调成功与回调失败的情况】
下一篇:vue实现表格过滤功能
一句话新闻
高通与谷歌联手!首款骁龙PC优化Chrome浏览器发布
高通和谷歌日前宣布,推出首次面向搭载骁龙的Windows PC的优化版Chrome浏览器。
在对骁龙X Elite参考设计的初步测试中,全新的Chrome浏览器在Speedometer 2.1基准测试中实现了显著的性能提升。
预计在2024年年中之前,搭载骁龙X Elite计算平台的PC将面世。该浏览器的提前问世,有助于骁龙PC问世就获得满血表现。
谷歌高级副总裁Hiroshi Lockheimer表示,此次与高通的合作将有助于确保Chrome用户在当前ARM兼容的PC上获得最佳的浏览体验。