Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/444.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 处理注销的更好方法_Javascript_Jquery - Fatal编程技术网

Javascript 处理注销的更好方法

Javascript 处理注销的更好方法,javascript,jquery,Javascript,Jquery,我有一个自定义注销页面。当用户单击“注销”时,将到达该页面(注销状态保存在数据库中)。没有登录机制。如果用户在新窗口中尝试,则允许其查看页面,并且注销状态更改为已登录 注销后,当用户单击“后退”按钮(从注销页面)时,不应允许用户查看上一页 类似地:当用户访问页面时,会存储时间。当他空闲20分钟并尝试操作时,他将被重定向到会话超时。他应该不能在点击后退按钮时查看上一页 当前,在每个页面中,我检查数据库状态,如果状态为注销,则再次重定向到注销页面。但它会导致页面先加载,然后用javascript进行

我有一个自定义注销页面。当用户单击“注销”时,将到达该页面(注销状态保存在数据库中)。没有登录机制。如果用户在新窗口中尝试,则允许其查看页面,并且注销状态更改为已登录

注销后,当用户单击“后退”按钮(从注销页面)时,不应允许用户查看上一页

类似地:当用户访问页面时,会存储时间。当他空闲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");
    }