相关疑难解决方法(0)

Codeigniter会话用ajax调用

我的CodeIgniter应用程序使用会话库并将数据保存到数据库.

我遇到了一些问题,在某个ajax调用之后会创建空白会话.

经过调查,似乎有2个同时发生的函数调用需要进行会话验证.一个人会失败而另一个会没事的.

我能够通过不让它们同时发射来解决这个问题.但我仍然不明白原因为什么它会失败.是否与一次更新用户cookie和第二次呼叫失效有关?或者也许在阅读数据库时它会以某种方式死掉?

我稍微查看了Session核心类,但没有发现任何线索.

如果有任何人遇到同样的问题,我会感激任何关于如何调试或原因是什么的建议.

谢谢!

编辑:

我原本说有408状态回归.这是一个无关的案例.

这是并行触发MyVar.refresh()的函数:

function (event)
{
    var self$ = this.a$;
    var uid  = this.b$.val();
    var tid  = this.c$.val();
    var jqxhr = $.post('/controller1/index',{'uid':uid,'tid':tid,'action':true},function(re)
    {
        if(re.message != 'success')
        {
            MyVar.alert('<span class="msg_error sprite"></span>' + re.error);
            MyVar.refresh();
        } 

    },'json');
    MyVar.refresh();
    return stopDefault(event);
};
Run Code Online (Sandbox Code Playgroud)

可能的解决方案:

发现这个:http://codeigniter.com/forums/viewthread/102456/

显然它与ajax不能很好地配合.一种解决方案是,如果是ajax调用,则禁止会话更新; 唯一的问题是我们的网站大多是用ajax构建的..

另外,只是将sess_time_to_update降低到非常频繁的状态,并且ajax做得很好.还做了浏览器刷新,它没有超时.不确定为什么会话ID在ajax调用时已经更改,并且浏览器cookie从未更新过.

cookies ajax session jquery codeigniter

23
推荐指数
3
解决办法
2万
查看次数

标签 统计

ajax ×1

codeigniter ×1

cookies ×1

jquery ×1

session ×1