当用户在laravel 5中关闭浏览器时如何在控制器中运行方法

时间:2015-09-29 09:28:44

标签: javascript php ajax laravel-5

我需要检测用户何时关闭浏览器,以保存数据库中的记录,

那么我怎么知道用户何时关闭浏览器?在laravel 5

2 个答案:

答案 0 :(得分:3)

默认情况下不能。 Laravel是服务器端脚本的框架。 HTTP是stateless protocol。服务器在发送请求时只知道客户端。话虽如此,您可以实现一种机制来定期从每个连接的客户端发送“ping”请求。缺少这些ping请求可能表示用户serssion结束。

答案 1 :(得分:0)

最后我解决了这个问题并且可以检查连接是否失败,或者关闭他的浏览器或关闭他的计算机而不从我的网站注销,将他从我的网站登出并记录他退出的时间

解决方案:

Java脚本:     setInterval(function(){

 $.ajax({
    url: '/home/outFromSystem' ,
    type: 'POST',
    data: {  

        },
    success: function(result) {
                console.log(result);
              },
    error: function(jqXHR, textStatus, errorThrown) {
                console.log(errorThrown);
           }





});

},50000);

PHP:     公共功能outFromSystem(){

       ignore_user_abort(true);

      for ($i = 0; $i < 10; $i++) {
           flush();
           ob_flush();

           if (connection_aborted()) {



                       // your code 


          }
          sleep(1);
     } 

}