CodeignitEr Session不使用AJAX

时间:2014-04-11 09:19:33

标签: php ajax codeigniter session

这里的问题是我试图通过ajax登录我的系统。让我先解释一下。

当我的用户输入他的登录详细信息时,它将通过Ajax请求发送到服务器,然后一旦获得验证,我创建一个进入会话的条目并保存userid和logged_in标志等信息。

然后我通过Json将这些值返回给用户,该用户由一段javascript处理并将用户重定向到仪表板。

如果用户未经过身份验证,则会显示错误。

但现在发生的事情是。当我创建会话变量并将用户重定向到仪表板时。有时它不会创建会话变量,这就是为什么我不能显示注销按钮?

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

如果您使用了基于CI后端构建的AJAX密集型网络应用程序,您可能已经注意到会话过期,即使您的到期时间设置为永不过期($ config ['sess_expiration'] = 0;应用/配置/ config.php中)

这显然是由于AJAX请求没有重新生成会话和明显的冲突。长话短说,上个月有一个补丁介绍没有大张旗鼓,这(到目前为止)似乎对我有用。

将system / libraries / Session.php文件替换为此处找到的文件(CI的git):

https://raw.github.com/EllisLab/CodeIgniter/b211adee89f5fd2192051e9c0826146bd150f469/system/libraries/Session.php