如何根据onload函数的结果显示html内容

时间:2012-05-17 04:52:21

标签: jquery html jsp

我有mainmenu.jsp,login.jsp和logout.jsp。流程如下:

  

login.jsp ---> mainmenu.jsp ---> logout.jsp

第一个用户可以看到login.jsp,登录成功后用户可以看到mainmenu.jsp,点击登出按钮用户转发到logout.jsp文件。在logout.jsp文件中,如果使用单击浏览器后退按钮,他/她可以看到上一页(mainmenu.jsp),但我想显示login.jsp页面。为了避免这种情况,我在主菜单.jsp的加载时使用ajax调用来检查变量。我可以将页面重定向到login.jsp。这是一个像闪烁问题的问题。在服务器返回结果之前,我的mainmenu.jsp文件被加载。服务器返回结果后,页面将重定向到登录页面。我想限制当前页面加载,直到任何响应来自服务器。我怎样才能实现这一目标? 我在onload主菜单中使用以下代码

$(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)
                }

            });

1 个答案:

答案 0 :(得分:1)

尝试在jsp中添加以下代码段

<%
   response.setHeader("Pragma","no-cache"); // HTTP 1.0
   response.setHeader("Cache-Control","no-store"); // HTTP 1.1
   response.setDateHeader("Expires", 0);
%>

另请参阅此优秀解释Prevent Going Back after LOGOUT