0

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

语法错误:意外的令牌 < http://www.site.com/index.php

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

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

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

4

2 回答 2

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 设置为您满意的足够长的时间

于 2013-01-06T12:33:44.467 回答
0

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

于 2013-01-29T11:25:23.157 回答