0

我有一个控制器和一个如下所示的视图,它可以在一段时间内完美运行,但是在向服务器发出一些请求之后(即每隔一秒重新加载一次),它将在这条线上失败

 if (!$this->tank_auth->is_logged_in()) 

无缘无故,我不知道天气是拥堵还是...

当我尝试在 firebug 中调试客户端代码并在此行上放置一个断点时

  $('#buy_reload').load('buy/reload'); //And press f8 every time

它像魅力一样有什么问题?加载?

Z 控制器

class Buy extends CI_Controller
{
function __construct()
{
    parent::__construct();

    $this->load->helper('url');
    $this->load->library('tank_auth');
    $this->load->model(array('tank_auth/users','players','cash','inventory','items','shopping_cart','purchases','processing'));
}

function reload()
{
    if (!$this->tank_auth->is_logged_in()) { 
        redirect('/auth/login/');
    } else {
            //do those stuffs
           }

}
}

Z 视图内的脚本

  <script>
   setInterval(function() {
   $('#buy_reload').load('buy/reload');
   }, 1 * 1000);
  </script> 
4

1 回答 1

2

我对 Tank Auth 和 CodeIgniter 2.1 有类似的问题。会话和 Ajax 调用似乎存在问题。以下链接将为您提供帮助

http://ellislab.com/forums/viewthread/199753/#962141

http://ellislab.com/forums/viewthread/203821/#951378

问题出在会话类的 sess_update 函数中,它会在 X 秒后生成一个新的 session_id。每个页面都有一个 session_id,如果 session_id 在 ajax 调用之前过期,该调用将失败。

于 2013-01-15T09:36:02.037 回答