如果 SESSION 已过期,我有许多 AJAX 调用仍然可以部分工作。
例如:将加载一个联系我们的表单,可以填写并似乎已发送,但 AJAX 调用在后端失败,因为 SESSION 变量不存在。
我想设置一个通用的 PHP 来检查会话是否仍然存在,例如:
session_start();
<?php if(!isset($_SESSION['userid']) {header('Location: index.php');}?>
但是,这一切都没有发生。
我假设 header() 仅在页面加载时才起作用 - 这是正确的吗?
因此,我假设我需要获取 AJAX 调用以在会话中返回成功或失败,并从 JQUERY 进行重定向。
这是最好的方法吗?header() 可以在 AJAX 调用上重定向吗?还有另一种方法可以让重定向从 AJAX PHP 调用中工作吗?
谢谢
* 更新 *
是的,页面已经加载。AJAX 调用是一个发送联系请求的后页面加载函数。因此,我认为 header() 从我在这里读到的内容是不行的。header() 本来会很好,因为它可以位于大型 PHP 脚本的顶部,并一般响应设置会话的任何请求。
看起来我必须为使用会话的每个 AJAX 调用建立一个签入。可以使用通用函数。当会话在 AJAX 站点上过期时,是否有更简单的方法来注销用户?