Javascript 处理注销的更好方法
我有一个自定义注销页面。当用户单击“注销”时,将到达该页面(注销状态保存在数据库中)。没有登录机制。如果用户在新窗口中尝试,则允许其查看页面,并且注销状态更改为已登录 注销后,当用户单击“后退”按钮(从注销页面)时,不应允许用户查看上一页 类似地:当用户访问页面时,会存储时间。当他空闲20分钟并尝试操作时,他将被重定向到会话超时。他应该不能在点击后退按钮时查看上一页 当前,在每个页面中,我检查数据库状态,如果状态为注销,则再次重定向到注销页面。但它会导致页面先加载,然后用javascript进行验证,然后重定向。有没有更好的方法来处理这个问题 注意:我根据中的评论将其作为一个新问题发布 参考:Javascript 处理注销的更好方法,javascript,jquery,Javascript,Jquery,我有一个自定义注销页面。当用户单击“注销”时,将到达该页面(注销状态保存在数据库中)。没有登录机制。如果用户在新窗口中尝试,则允许其查看页面,并且注销状态更改为已登录 注销后,当用户单击“后退”按钮(从注销页面)时,不应允许用户查看上一页 类似地:当用户访问页面时,会存储时间。当他空闲20分钟并尝试操作时,他将被重定向到会话超时。他应该不能在点击后退按钮时查看上一页 当前,在每个页面中,我检查数据库状态,如果状态为注销,则再次重定向到注销页面。但它会导致页面先加载,然后用javascript进行
场景1:不要使用Ajax: 如果您在页面上,用户可能无法再次看到
window.location.replace("LogOut.aspx/GetActiveIndicatorStatus?empID="+empID)
将用返回的内容替换当前页面
场景2:结果中的替换:
if ($.trim(result) == "LoggedOUT") {
window.location.replace("LogOut.aspx");
}
else
{
contentHolderDiv.css("display", "block");
}
我不明白这个机制。没有显式登录,但您可以注销吗?用户在访问新站点时是否会自动重新登录?这听起来很不正统,不管你怎么看,都很容易出错。。。更不用说Javascript也不应该参与处理登录/退出。@deceze当用户访问页面时,时间是存储的。当他空闲20分钟并尝试操作时,他将被重定向到会话超时。他应该无法在单击“上一页”按钮时查看上一页。假设用户先到达第1页,然后到达第2页。用户单击了从第2页注销。考虑我在注销点击时使用了复选框。用户仍然可以返回到第1页;虽然不是第2页。有什么解决方法吗?从第1页使用location.replace(“第2页…”)则历史记录中没有第1页,从第2页注销也将替换该页
if ($.trim(result) == "LoggedOUT") {
window.location.replace("LogOut.aspx");
}
else
{
contentHolderDiv.css("display", "block");
}