php - 我用ajax设置的SESSION数组变量没有被保存?

时间:2012-07-24 11:05:19

标签: php ajax session

我有一个链接,点击后,调用jquery ajax函数从php页面获取数据,并将返回的html放在弹出div中。

返回的html实际上是一个表单。在php中,我查询数据库以获取符合用户规范的许可证列表,并将它们保存在一个数组中。然后,我将数组保存在$ _SESSION变量中。

当用户提交此表单时,它会调用另一个ajax函数来为弹出div(向导式)获取更多html。我需要在这里使用存储在$ _SESSION变量中的数组,但我得到的只是一个空数组(缺少值)。

以下是php代码的示例

//step 1
$renewable_licenses = db_query_array($sql);
$_SESSION['renewable_licenses'] = $renewable_licenses;
$_SESSION['hello'] = "hello!";
print_r($_SESSION); //I can see all the session vars, 
                      //including the array with all it's values, and "hello!"

//step 2
print_r($_SESSION); //I see the standard session vars set in other pages, I see
                 //"hello!", I see [renewable_licenses] but it is an empty array!

ajax工作正常,我看到表格和正确的字段都完美地显示出来。我检查了两个ajax调用的session_id,它们是相同的。在两个页面上首先调用session_start()。为什么我不能在第二步中访问我的数组?

0 个答案:

没有答案