这篇文章主要介绍了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如何实现子页面关闭后父页面刷新以及重新加载”这篇文章对大家有帮助,同时也希望大家多多支持亿速云,关注亿速云行业资讯频道,更多相关知识等着你来学习!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。