我有 mainmenu.jsp、login.jsp 和 logout.jsp。流程如下
login.jsp --->mainmenu.jsp ---> logout.jsp
第一个用户可以看到 login.jsp,成功登录后用户可以看到 mainmenu.jsp,点击注销按钮的用户会被转发到 logout.jsp 文件。在 logout.jsp 文件中,如果使用单击浏览器后退按钮,他/她可以看到上一页(mainmenu.jsp),但我想显示 login.jsp 页面。为了避免这种情况,我在加载主 menu.jsp 时使用 ajax 调用检查变量。我可以将页面重定向到 login.jsp。这是一个类似闪烁问题的问题。在服务器返回结果之前,我的 mainmenu.jsp 文件被加载。服务器返回结果后,页面被重定向到登录页面。我想限制当前页面加载,直到任何响应来自服务器。我怎样才能做到这一点?我在主菜单的加载中使用以下代码
$(window).load(function() {
$.ajaxSetup({async:false}); //execute synchronously
var isSessionExists = "";
$.post("getSession", {}, function(data, textStatus, xhrObject) {
isSessionExists = data.split("=")[1];
});
$.ajaxSetup({async:true});
if((isSessionExists.indexOf('NO')>=0)){
// alert("...inside condition...")
top.location="index.jsp";
}else{
alert("....BREAK..."+isSessionExists)
}
});