当会话使用AJAX到期时,导航到登录页面

时间:2012-01-18 03:20:30

标签: java jquery ajax

在会话到期后导航回登录页面时遇到了一个小问题。我的页面上有一个链接,使用ajax查看密码,如果会话未到期,“查看密码”链接将被密码替换片刻;否则,它将导航到登录页面。我使用这个javascript来检查是否仍然存在。

$(document).ready(function() { 

    $(document).bind("ajaxComplete", function(event, response, ajaxOptions) {
        if (response.getResponseHeader('SEESION_EXP') === '1') {
            self.location = _CONTEXT_PATH;
            return false;
        }

    });

});

这里的问题是,在用户实际导航到登录页面之前,登录页面将被替换到密码位置一会儿。反正有没有解决这个问题?

2 个答案:

答案 0 :(得分:1)

只需获取一个字符串,您可以将其用于客户端的验证。例如,我的链接调用一个servlet,它将返回' redirectLogin'如果会话过期,则作为客户端的repsonse。如果reponseText等于' redirectLogin',则使用window.location.replace导航到所需的页面

$('#id_of_link').click(function(event) {
            event.preventDefault();   

            $.get('ActionServlet', function(responseText) { 

            if(responseText=="redirectLogin")
                window.location.replace("desired url");  
        });
    });

答案 1 :(得分:0)

请检查response.getResponseHeader('SEESION_EXP')的值是否为1 然后使用window.location = _CONTEXT_PATH;