关闭窗口上的PHP更新数据库

时间:2014-11-30 19:31:48

标签: javascript jquery ajax onbeforeunload

我正在尝试在用户关闭或刷新浏览器时更新数据库。这是我的代码:

$(window).bind('unload', function(){
    $.ajax({
        type: 'get',
        async: false,
        url: 'liberaLugar.php?idCurso=2'
    });
});

任何帮助将不胜感激。 提前谢谢!

1 个答案:

答案 0 :(得分:5)

在大多数情况下,这应该对你有用。当然,如果你的服务器无法访问,你可以冻结浏览器,所以我们也应该添加一个超时。为你的用户提供一些关于到底发生了什么的可视指示器也可能是有帮助的,所以我们应该把光标设置为等待。

var unloaded = false;
$(window).on('beforeunload', unload);
$(window).on('unload', unload);  
function unload(){      
    if(!unloaded){
        $('body').css('cursor','wait');
        $.ajax({
            type: 'get',
            async: false,
            url: 'liberaLugar.php?idCurso=2',
            success:function(){ 
                unloaded = true; 
                $('body').css('cursor','default');
            },
            timeout: 5000
        });
    }
}

编辑:同步AJAX现已在Webkit浏览器中弃用。