codeigniter ajax如何不自动注销用户

时间:2013-01-06 11:27:28

标签: php ajax codeigniter-2 session-cookies

我正在使用CodeIgniter处理我正在处理的网站,因为管理区域使用AJAX请求与服务器通信。用户可能正在处理不需要AJAX请求的事情,因此在用户尝试使用AJAX发送内容之后,一段时间非AJAX工作,会导致如下错误:

  
    

SyntaxError:意外的令牌< http://www.site.com/index.php

  

我检查用户是否已登录服务器,如下所示:

if(!isset($_SESSION['username'])){
    redirect('login');
}

我只使用$ _SESSION,而不是cookie。我是否必须使用cookie或实现一些JavaScript函数来ping服务器以在用户空闲时保持活动,或两者兼而有之? 提前谢谢。

2 个答案:

答案 0 :(得分:0)

只需在配置文件中更改会话过期变量:

$config['sess_cookie_name']     = 'yoursite';
$config['sess_expiration']      = 7200;
$config['sess_encrypt_cookie']  = TRUE;
$config['sess_use_database']    = TRUE;
$config['sess_table_name']      = 'ci_sessions';
$config['sess_match_ip']        = FALSE;
$config['sess_match_useragent'] = TRUE;
$config['sess_time_to_update']  = 300;

将sess_expiration设置为足够长的时间,以便您满意

答案 1 :(得分:0)

我没有为这个错误实现一个解决方案,但是,最终在这里找到一个好的解决方案是使用jQuery-Idle插件,我希望这可以帮助任何人。