我在codeIgniter上有类似的AJAX请求,所有会话更新都是这样的:
function ajax1($value)
{
$this->session->set_userdata('foo', $value);
}
function ajax2($value)
{
$this->session->set_userdata('bar', $value);
}
但有时因为MySQL并发,一个变量或另一个变量没有更新,我想是因为如果从数据库中抓取,一个方法会用旧值覆盖另一个方法的新值。
我不能同时更新2个会话,因为它们完全不同,我不知道会调用哪些会话,因为页面是动态的,可能有一个或几个方法调用。
过去有人遇到过这种情况并有办法解决这个问题吗?
答案 0 :(得分:0)
我认为这个问题已在最新版本的codeIgniter中得到修复,但是如果您仍在使用旧版本,请尝试将system / libraries / Session.php替换为新版本,或者您可以直接覆盖会话库遵循:
应用/库/ MY_Session.php
class MY_Session extends CI_Session
{
function sess_update()
{
if (!$this->CI->input->is_ajax_request())
return parent::sess_update();
}
}