在会话到期后导航回登录页面时遇到了一个小问题。我的页面上有一个链接,使用ajax查看密码,如果会话未到期,“查看密码”链接将被密码替换片刻;否则,它将导航到登录页面。我使用这个javascript来检查是否仍然存在。
$(document).ready(function() {
$(document).bind("ajaxComplete", function(event, response, ajaxOptions) {
if (response.getResponseHeader('SEESION_EXP') === '1') {
self.location = _CONTEXT_PATH;
return false;
}
});
});
这里的问题是,在用户实际导航到登录页面之前,登录页面将被替换到密码位置一会儿。反正有没有解决这个问题?
答案 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;