在checksession函数中处理click和ajax调用

时间:2017-01-23 11:35:04

标签: php jquery ajax

我已经设置了一个AJAX函数,可以帮助我在15分钟不活动后注销用户 - 我的意思是这里没有页面刷新,而且它运行良好。

然而问题是用户可以仍然工作(点击对象,发送AJAX调用等)而无需刷新页面。但是他将在15分钟内断开连接。

如何处理支票会话系统中的点击和AJAX调用?

function xhrSessionIsExpired(controller) {      
  $.ajax({
    url: controller + "/xhrSessionIsExpired",
    type: "GET",
    dataType: "json",
    cache: false,
    beforeSend: function() {},
    success: function(json) {
      if (json == 'alive') {
        console.log('alive');
      }
      if (json == 'expired') {
        console.log('expired');
        document.location.href = baseUrl + 'index/timeout';
      }
      if (json == 'out') {
        console.log('out');
        document.location.href = baseUrl + 'index/disconnected';
      }
      setTimeout ("xhrSessionIsExpired('" + controller + "');", 15000);
    },
    complete: function() {},
    error: function(jqXHR, textStatus, errorThrown) {
      showAjaxMessage (7041, "error",  allMsg["allMsgAjax"]["error"]);
      console.log(textStatus, errorThrown);
    }
  });
}
function xhrSessionIsExpired() 
{
  if (Session::get('loggedIn') == true)
  {
    if (Session::expired() == false)
    {
      $res = 'alive';
    }
    else 
    {
      $res = 'expired';
      $return = Session::destroy();
    }
  }
  else 
  {
    $res = 'out';
  }
  echo json_encode($res);
}

0 个答案:

没有答案