jQuery MiniUI

 找回密码
 立即注册
查看: 3389|回复: 4
打印 上一主题 下一主题

关于session超过,grid解析错误处理问题 [复制链接]

Rank: 3Rank: 3

跳转到指定楼层
楼主
发表于 2012-11-27 14:23:50 |只看该作者 |倒序浏览
我在后台有拦截器,如果超时,会跳转到登录页面:
  RequestDispatcher requestDispatcher = request.getRequestDispatcher("/common/login.jsp");  
                    requestDispatcher.forward(request, response);  
                    return;

可在前台,用了mini-tree控件,当session超时点击时,因为是跳转到了login.jsp页面,那这时grid取得的数据是页面。不是json,就会出现解析错误(弹出请求路径+datagrid json is error错误),也跳转不了,请问如何解决呢?谢谢!

  tree.on("nodeselect", function (e) {
                var data={dept_id:e.node.id};
                var json = mini.encode(data);
                grid.load({data:json});
               
        
        });

Rank: 8Rank: 8

沙发
发表于 2012-11-27 15:24:24 |只看该作者
miniui用的是jquery ajax,你可以用jquery ajax进行拦截

Rank: 9Rank: 9Rank: 9

板凳
发表于 2012-11-27 15:38:57 |只看该作者
具体如下两个步骤:
1)取消MiniUI默认提示信息: mini_debugger = false;
2)监听ajax全局完成事件,判断返回内容是超时的话,则跳转登录页面:
        $(document).ajaxComplete(function (evt, request, settings) {
            var text = request.responseText;
            //判断返回的数据内容,如果是超时,则跳转到登陆页面
            if (text == "logout") {
                top.location = '/login.html';
            }
        })

Rank: 3Rank: 3

地板
发表于 2012-11-27 16:13:15 |只看该作者
niko 发表于 2012-11-27 15:38
具体如下两个步骤:
1)取消MiniUI默认提示信息: mini_debugger = false;
2)监听ajax全局完成事件,判断 ...

mini_debugger = false;
这句话加在什么地方

Rank: 8Rank: 8

5#
发表于 2012-11-27 16:20:01 |只看该作者
feelsun 发表于 2012-11-27 16:13
mini_debugger = false;
这句话加在什么地方

下载更新下boot.js,这句话在boot.js里面,今天新更新了

Archiver|普加软件

GMT+8, 2024-11-27 06:21 , Processed in 1.044646 second(s), 10 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部