Angularjs Angular和Codeigniter的不同$http请求中的空会话值
我正在使用angular和codeigniter创建简单的身份验证项目,我正在使用yeoman结构来创建angular。因此,我的项目结构是: 项目: 当用户登录时,我调用了Login.php函数,其中我使用以下命令设置php会话:Angularjs Angular和Codeigniter的不同$http请求中的空会话值,angularjs,codeigniter,session,Angularjs,Codeigniter,Session,我正在使用angular和codeigniter创建简单的身份验证项目,我正在使用yeoman结构来创建angular。因此,我的项目结构是: 项目: 当用户登录时,我调用了Login.php函数,其中我使用以下命令设置php会话: $this->session->set_userdata("user","123"); 这是在会话中成功设置的(我已经通过打印$\u会话值进行了检查) 然后,我在app.run(在app.js中)中运行一个新的服务功能,使用以下命令检查用户是否登录:
$this->session->set_userdata("user","123");
这是在会话中成功设置的(我已经通过打印$\u会话值进行了检查)
然后,我在app.run(在app.js中)中运行一个新的服务功能,使用以下命令检查用户是否登录:
$http.post($rootScope.httpServices+"login/isloggedIn");
// URL = localhost/project/api/index.php/login/isloggedIn
isloggedIn()是Login.php中的函数,在这里我检查会话的值,但在那个里它的值显示为空。我正在使用浏览器中的url:运行我的项目
在获取会话的价值时,我是否遗漏了一些东西,或者在下一个ajax请求时是否有一些东西正在破坏会话的价值。
提前感谢。试试这个
$this->session->userdata('user')
而不是$\u会话[“用户”]
这也不起作用。我认为问题在于,当我们使用一个ajax请求发送请求时,它会在该特定url中设置会话,当我们再次发送请求以获取会话的值时,它会将其视为不同的域或主机(不确定),因此它不会显示其值。否。事实并非如此,如果应用程序的sess\u cookie\u名称相同,则即使是服务调用,也必须从应用程序获取会话数据。
$http.post($rootScope.httpServices+"login/isloggedIn");
// URL = localhost/project/api/index.php/login/isloggedIn