我正在使用codeigniter框架创建一个web应用程序,我正在使用2.0.3版本。My不时发出ajax请求来更新页面,并获取通知。我访问了编码器论坛并询问有关编码器会话和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();
}
}
}
但是自从我添加了这个代码,我就无法在不注销的情况下保持登录超过五分钟,或者有时根本无法登录。有人有类似的经历吗?
如果你想保持登录时间更长,你可以在你的application/config/config.php
当您评估is_ajax_request()时会发生什么?在代码片段中添加:
echo 'AJAX: ' . $this->CI->input->is_ajax_request(); exit;
查看if语句是否正常工作。它可能每次都返回false并更新会话。只是一个快速的开始:)