0

session.timeout 发生时如何显示警报消息?5 分钟后,我想使我的页面过期并重定向到登录页面。重定向后,我想向用户显示他们的会话已过期。

4

3 回答 3

0

我想你是在 5 分钟不活动之后。

function doLogout() {
    window.location.href="/logout?reason=timeout"
}

window.setTimeout(doLogout(), 300000)

设置您想要的超时,然后注销,将某种形式的参数传递给注销机制,以便可以显示消息。

另一种选择是轮询会话cookie。方法类似,但不是直接注销,而是检查 cookie 是否仍然存在以及是否启动新计时器。为此,您必须将会话的到期时间设置为期望的值。

作为旁注,出于可访问性的原因,您应该在终止会话之前真正警告用户并提供更新会话的方法。

于 2013-08-29T11:58:01.227 回答
0

您需要在几秒钟内对您的服务器执行 ping 操作以确保会话到期。

算法:

  1. 对服务器的正确异步调用
  2. 接收真/假的响应
  3. 相应地显示警报。

    $return = array("status"=>1);
    if($_SESSION['ANY_SESSION_VAR']){
        $return = array("status"=>0);
    }
    
    die(json_encode($return);
    

    http://jsfiddle.net/2CgkV/1/

于 2013-08-29T12:01:06.950 回答
0
if (session["MySessionName"] == null)
{
 .. show message
}
于 2013-08-29T11:31:19.213 回答