一尘不染

为什么不能从称为AJAX的PHP脚本访问会话变量?

ajax

我有一个带有会话变量的PHP脚本,设置如下:

$_SESSION['VAR1'] = "test"

现在,我通过jQuery启动的POST请求使用AJAX,因此我有一个名为的脚本ajax.php,它具有所有必需的功能。

当我尝试访问echo $_SESSION['VAR1']ajax.php中的会话变量()时,它什么也没有产生。

会话对AJAX请求无效吗?


阅读 166

收藏
2020-07-26

共1个答案

一尘不染

在访问会话之前,需要在访问该会话的每个页面上执行此操作:

session_start();

这意味着在设置会话变量的页面和试图检索该变量的AJAX页面上均如此。两者都需要打电话session_start()

只要AJAX请求在同一个域中调用脚本(并因此可以访问会话cookie),就没有理由无法访问会话变量。毕竟,一个AJAX请求只是另一个HTTP请求。

2020-07-26