我正在使用codeigniter框架创建一个web应用程序,我正在使用2.0.3版本。My发出ajax请求以不时地更新页面,并获取通知。我访问了codeigniter论坛,询问了有关codeigniter会话和ajax的问题,找到了我使用的代码片段,并将其保存在库和类"My_session.php“中。
class MY_Session extends CI_Session {
/**
* Update an existing session
*
* @access public
* @return void
*/
function sess_update() {
// skip the session update if this is an AJAX call! This is a bug in CI; see:
// https://github.com/EllisLab/CodeIgniter/issues/154
// http://codeigniter.com/forums/viewthread/102456/P15
if ( !($this->CI->input->is_ajax_request()) ) {
parent::sess_update();
}
}
}但自从我添加了这段代码后,我就无法在不注销的情况下保持登录超过五分钟,或者有时根本无法登录。有没有人有类似的经历?
发布于 2011-11-13 20:03:59
如果您想保持更长的登录时间,可以在应用程序/config/config.php中设置sess_expiration超过5分钟
发布于 2011-11-13 20:53:16
当您计算is_ajax_request()时会发生什么?在代码片段中添加:
echo 'AJAX: ' . $this->CI->input->is_ajax_request(); exit;查看if语句是否正常工作。它可能每次都会返回false并更新会话。只需快速开始:)
https://stackoverflow.com/questions/8111336
复制相似问题