PHP当会话超时时,它会重定向整个页面,而不是通过ajax加载页面

PHP当会话超时时,它会重定向整个页面,而不是通过ajax加载页面,php,jquery,session,timeout,Php,Jquery,Session,Timeout,我有一个php页面,它使用php会话和jquery通过ajax调用页面。问题是,如果页面空闲时间过长,则通过ajax调用的页面被重定向到主页,但使用ajax更新的div之外的页面的其余部分仍然显示登录的人,直到他们尝试单击链接,然后整个页面重定向到登录页面,因为会话已超时。在php中有没有一种方法,一旦它检测到会话超时,然后将它们重定向到注销页面,整个页面将被重定向,而不仅仅是通过ajax调用的页面?也许通过jquery的解决方案可以奏效?希望这有意义。您可以在php中检测会话是否超时。如果超时

我有一个php页面,它使用php会话和jquery通过ajax调用页面。问题是,如果页面空闲时间过长,则通过ajax调用的页面被重定向到主页,但使用ajax更新的div之外的页面的其余部分仍然显示登录的人,直到他们尝试单击链接,然后整个页面重定向到登录页面,因为会话已超时。在php中有没有一种方法,一旦它检测到会话超时,然后将它们重定向到注销页面,整个页面将被重定向,而不仅仅是通过ajax调用的页面?也许通过jquery的解决方案可以奏效?希望这有意义。

您可以在php中检测会话是否超时。如果超时,只需返回

echo "<script>window.top.location.href='$url'</script>";

其中$url是重定向url。

您可以在php中检测会话是否超时。如果超时,只需返回

echo "<script>window.top.location.href='$url'</script>";
其中$url是您的重定向url。

这里我在我的项目中开发了一个方法,它非常成功。你可以在这个链接中查看它

在这里,我在我的项目中开发了一种方法,它非常成功。你可以在这个链接中查看它


因此,在我的php脚本中,检查会话是否仍然有效,如果它无效,则回显上面的js?因此,如果通过ajax打开的php页面进行了会话检查,它将重定向整个页面,而不仅仅是它加载到的div?@John:是的,它将重定向整个页面,而不仅仅是ajax div。因此,在我的php脚本中,检查会话是否仍然有效,如果无效,则回显上面的js?因此,如果通过ajax打开的php页面进行了会话检查,它将重定向整个页面,而不仅仅是它加载到的div?@John:是的,它将重定向整个页面,而不仅仅是ajax div。