Angular JS+CodeIgniter:在$http ajax调用期间无法读取会话数据


Angular JS + CodeIgniter: Cannot read session data during $http ajax calls

我正在尝试使用代码点火器会话来存储ajax调用之间的状态。在其中一个url中,我正在使用设置会话

$this->session->set_userdata("user", "harry");

但是当我试图从另一个url访问值"user"时,我得到了错误的

$this->session->userdata("user");

返回false。

我在这里做错了什么?我知道会话是在第一个URL中设置的,因为我可以在那之后立即回显该值。

会话通常会在每次页面加载时全局运行,因此会话类必须在控制器中初始化构造函数,或者可以由系统自动加载

如果您没有自动加载会话库,请在其他控制器将继承的自定义控制器(如MY_Controller)中对其进行初始化。否则,您需要在每个控制器__construct()中加载会话库。

class MY_Controller extends CI_Controller
{
   public $currentUser = NULL;
   public function __construct()
   {
       if(is_null($this->currentUser))
           $this->_checkUserHasLoggedIn();
   }
   protected function _checkUserHasLoggedIn()
   {
       // $this->session->set_userdata(array('uid'=>'0'))
       // This would only be set if a user is logged In
       // via a Authentication library
       if($this->session->userdata('uid') && $this->session->userdata('uid') !== 0)
       {
            $this->currentUser = new StdClass();
            $this->currentUser->ID = $this->session->userdata('uid');
            $this->currentUser->Group = $this->session->userdata('group');
            $this->currentUser->Name= $this->session->userdata('name');
       }
       return;
   }
}