我想在用户不手动从应用程序注销时插入注销时间戳,即,如果用户关闭浏览器而不注销系统,则系统应注销浏览器关闭事件或任何其他解决方案,以使用jquery,ajax,和PHP的欢迎。我尝试了以下代码:

<script type="text/javascript">
      window.onbeforeunload = function() {
          $.ajax
            ({
                url: 'logout.php',
                data: "",
                type: 'post',
                success: function()
                {
                    .....
                }
            });
      }
</script>


但是window.onbeforeunload function()每次都会在chrome之类的webkit浏览器中更改URL时将其注销,这是它的特性。我需要一些跨浏览器解决方案。关于此问题,我在stackoverflow本身上看到了各种疑问,但找不到任何对我有帮助的解决方案。

我还需要提及的是,在logout.php中,我使用该代码终止会话,并在数据库中插入查询以获取注销的时间戳。

最佳答案

我想建议以下代码在浏览器关闭时进行ajax调用。

<script type="text/javascript">
    window.onbeforeunload = function() {

        var ticketId = $('#ticketId').val();
        $.ajax({
            url: '/ticket-window-close/'+ticketId,
            type: 'GET',
            async: false,
            timeout: 10000
        });
    };
</script>

关于php - 在浏览器关闭时调用ajax,而不更改网址,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32779972/

10-11 19:42
查看更多