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

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

(0)

相关推荐

  • layui点击左侧导航栏,实现不刷新整个页面,只刷新局部的方法

    其实这篇文章是给自己看的,以后忘记怎么做回来还能看一下 点击左侧菜单栏只刷新局部,局部就用iframe. 首先先建layout页,建左侧菜单栏,然后下面的@RenderBody() <div class="layui-side layui-bg-black"> <div class="layui-side-scroll"> <!-- 左侧导航区域(可配合layui已有的垂直导航) --> <ul class="la

  • layer实现关闭弹出层刷新父界面功能详解

    本文实例讲述了layer实现关闭弹出层刷新父界面功能.分享给大家供大家参考,具体如下: layer是一款近年来备受青睐的web弹层组件,她具备全方位的解决方案,致力于服务各水平段的开发人员,您的页面会轻松地拥有丰富友好的操作体验. 最近一个项目采用的是hui前端框架,他的弹出层就是用的layer插件,对于弹出层,有一个操作体验大家都知道,就是关闭弹出层,需要刷新父页面.开始写的时候,我陷入了自己的误区,在弹出层处理成功之后,我调用的是: var index = parent.layer.getF

  • 关于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.c

  • jQuery中弹出iframe内嵌页面元素到父页面并全屏化的实例代码

    iframe和弹窗这些词对于js高手来说都是耳熟能详的东西,作为一个新人来说,还在学习阶段的我就在工作中遇到这么一个奇葩的需求,要在引入的iframe页面里做一个全屏化的功能. 粗略一看,这还不容易,模拟下F11的功能键什么的,于是网上一搜还真有一大堆关于全屏化的案例,遂借来用之. 然后高高兴兴的拿一个没有iframe引入的页面做了个测试页面查看全屏化功能效果,代码如下(fullScreenPage.html): <!DOCTYPE html> <html xmlns="htt

  • thinkPHP分组后模板无法加载问题解决方法

    本文分析了thinkPHP分组后模板无法加载问题解决方法.分享给大家供大家参考,具体如下: 一个分组简要的目录结构如下图所示: 默认分组配置为Home.当访问localhost/server/时可以正常访问前台,localhost/server/home/Index/index也能正常访问. 但是,localhost/server/admin却不能加载tpl页面,但是能够访问到控制器(localhost/server/admin/Index/index能访问,display不出页面). 解决:

  • Bootstrap中点击按钮后变灰并显示加载中实例代码

    Bootstrap插件非常的好用了,我们今天一起来看一篇关于Bootstrap实现点击按钮之后按钮变成不可点击的一个效果了,具体的如下所示. 1.在按钮中加入data-loading-text,即点击按钮后显示的文字 <button type="submit" class="btn btn-primary btn-check" data-loading-text="提交中...">添加成员</button> 2.当点击按钮

  • react 实现页面代码分割、按需加载的方法

    虽然一直有做 react 相关的优化,按需加载.dll 分离.服务端渲染,但是从来没有从路由代码分割这一块入手过,昨天在本地开发时没有测试成功,今天又搞了下,已经部署到线上环境了,今天就这个记录一下. 修改配置 开发环境:webpack@v3 .react-router@v4 安装依赖: $ yarn add babel-plugin-syntax-dynamic-import -dev 修改 .babelrc 文件:在 plugins 中添加 "syntax-dynamic-import&qu

  • Vue-Router实现页面正在加载特效方法示例

    前言 vue-router是Vue.js官方的路由插件,它和vue.js是深度集成的,适合用于构建单页面应用.vue的单页面应用是基于路由和组件的,路由用于设定访问路径,并将路径和组件映射起来.传统的页面应用,是用一些超链接来实现页面切换和跳转的.在vue-router单页面应用中,则是路径之间的切换,也就是组件的切换. 如果你在使用 Vue.js 和 Vue-Router 开发单页面应用.因为每个页面都是一个 Vue 组件,你需要从服务器端请求数据,然后再让 Vue 引擎来渲染到页面上. 例如

  • 无刷新动态加载数据 滚动条加载适合评论等页面

    滚屏加载更多数据,适合评论等页面 本例的数据库很简单,一看就明了   复制代码 代码如下: <div id="container"> <?php $query=mysql_query("select * from content order by id desc limit 0,10"); while ($row=mysql_fetch_array($query)) { ?> <div class="single_item&q

  • Vue多页面配置打包性能优化方式(解决加载包太大加载慢问题)

    目录 一.问题描述及解决方案 1. 多入口存在的问题 2. 我的预期效果 3. 可行方案 二.方案一:打公共 chunks,单独分离各自的ui库 三.方案二:删除默认splitChunk配置,抽离公共资源 四.方案对比 总结 通常我们使用vue-cli开发多页面的时候,不知道您是否注意一个问题没有? 默认情况:webpack 会将多入口通用的组件库等,打包一个 vendor 的 chunk js 中 现在假设有两个页面: 入口 admin 使用到了element-ui组件库和echarts图表库

  • Extjs列表详细信息窗口新建后自动加载解决方法

    在Extjs中,在当前页面的grid页新建了一行数据后,通过表单形式进入详细页面的编辑,此时,为了能让页面自动打开详细页面编辑,我花了三个小时,终于找到了在Extjs下最合适的方案,结果却只有三句话,我想,这可能也是很多Extjs爱好者们想要知道或者已经知道的,为此,将其与大家分享,只求为extjs群体贡献自己的一些想法. 列表在创建后,一般会有一个提示,现在我把我最开始的几个思路与大家讲讲,想直接看结果的可以跳到最后一套方案~ 方案1(放弃). 在新建数据后,向createform方法传送一个

  • js父页面与子页面不同时显示的方法

    本文实例讲述了js父页面与子页面不同时显示的方法,可实现打开一个页面后,父页面DISABLE,在子页面关闭后,父页面ENABLE.分享给大家供大家参考.具体方法如下: 复制代码 代码如下: function onNewClick() {     var url = "VesselScheduleNEW.aspx";     if (null!=newWin && newWin.closed) newWin=null;        if (null==newWin)  

随机推荐