我在 Javascript 中保留了一个计数器,当计数器达到 0 时,它将触发以下 AJAX 调用:
function logout2() {
$.ajax({
type: "GET",
dataType: "json",
url: "app/logout",
timeout: 20000,
success: function() {
;
},
error : function(xhr, textStatus, errorThrown) {
ajaxErrorHandler(xhr, textStatus, errorThrown);
}
})
}
正如你所看到的,它会正式从服务器端注销,但是页面将保持不变,这意味着页面保持不变,不会自动重定向到登录页面。仅当用户执行特定操作(例如单击此页面上的按钮)时,才会触发弹出窗口,提示“ session 超时”并将用户重定向到登录页面。
但是,现在我被要求对此进行一些增强,在调用上面的 AJAX 函数之后,不仅单击按钮等用户操作会触发重定向,而且当用户刷新页面时也会执行相同的操作。
我尝试了一点,但确实没有收获。目前页面过期后,如果我刷新,不会弹出 session 超时对话框,也不会重定向到所需的页面。
我可以在 JavaScript 或 Ajax 级别做些什么来实现用户刷新后,我还能够弹出该对话框然后重定向吗?
最佳答案
使用怎么样
编辑
success: function() {
alert ("You have been logged out");"
window.location.href = "you_have_been_logged_out.jsp"; // or something
},
但是,执行此操作的正常方法是使用 servlet 过滤器来检查用户是否已登录(存储在 session 变量中的值)
关于java - 有没有办法让Javascript在点击刷新后重定向页面( session 已经过期),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26794699/