【发布时间】:2016-09-12 06:27:54
【问题描述】:
无法通过 ajax 请求获取会话值
这是我的ajax请求
$.post(url, payload,
function(returnedData){
console.log(returnedData); //does not print session values it seems session has restarted
var jsonData = JSON.parse(returnedData);
$('#cart').empty().append(jsonData.data);
});
console.log 中的输出
Array
(
[__ci_last_regenerate] => 1473660791
)
分配会话变量
public function test($id=null)
{
$_SESSION['tot']=1;
}
不使用 ajax 进行测试
public function addToCart($id=null) //note that this is also the control for my ajax req
{
print_r($_SESSION);
die('0');
}
public function test1()
{
print_r($_SESSION); // it prints fine
}
输出
Array ( [__ci_last_regenerate] => 1473660731 [tot] => 1 )
我自动加载我的会话库。 CI 表示,只要存在会话变量,使用会话魔术或 php 访问会话变量的方式并不重要。
【问题讨论】:
-
如果你使用 php session 那么你需要在访问 $_SESSION 变量之前隐式启动 session_start()。
-
我正在使用 codeigniter 会话并自动加载它。
-
如果你使用代码点火器会话然后访问它 $session_id = $this->session->userdata('session_id');
-
相信也和通过$_SESSION['name']访问是一样的。这个我已经试过了,还是不行。
标签: php jquery ajax codeigniter session