jquery代码中未识别Codeigniter会话

jquery代码中未识别Codeigniter会话,jquery,codeigniter,Jquery,Codeigniter,我有一个CI(PHP)登录表单,在3次不成功的登录尝试后将用户锁定n分钟,并禁用登录表单。为了检查锁定时间是否结束,我将尝试时间设置为会话(在模型中),并将当前时间与会话进行比较。在某些jquery代码的登录页面中检查尝试时间。但是jquery脚本中无法识别会话 CI模型(PHP) CI视图(Jquery) var now=”“; var尝试=”; 警报(现在-尝试); 这是由于config.php中的sess\u time\u to\u update参数造成的。CI使用此选项将会话ID更新为新

我有一个CI(PHP)登录表单,在3次不成功的登录尝试后将用户锁定n分钟,并禁用登录表单。为了检查锁定时间是否结束,我将尝试时间设置为会话(在模型中),并将当前时间与会话进行比较。在某些jquery代码的登录页面中检查尝试时间。但是jquery脚本中无法识别会话

CI模型(PHP)

CI视图(Jquery)

var now=”“;
var尝试=”;
警报(现在-尝试);

这是由于config.php中的sess\u time\u to\u update参数造成的。CI使用此选项将会话ID更新为新的会话ID。如果更改发生在ajax调用中,CI将发送一个新的cookie来告诉浏览器新的会话ID。不幸的是,浏览器似乎忽略了此cookie并保留了旧的会话ID

这就是为什么我们设置$config['sess_time\u to_update']=$config['sess_expiration']


这是一种让它工作的技巧。

试试这个$config['sess\u time\u to\u update']=$config['sess\u expiration'];在config.php文件中,这似乎是可行的,但为什么我要将这两个变量设置为相同的呢?我已经给出了下面的解释,如果有用的话,请将其标记为答案是您的jQuery包装在
$(document.ready()
?是的,它包装在$(document.ready()中
if($this->lockIP($ip_address)){
    $this->session->set_userdata('lockout',time());
    return true;
}
var now = "<?php echo time();?>";
var attempt = "<?php echo $this->session->userdata('lockout');?>";
alert(now - attempt);