PHP更新数据库关闭窗口

And*_*zos -2 javascript ajax jquery onbeforeunload

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

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

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

r3w*_*3wt 5

在大多数情况下,这应该适合您。当然,如果服务器无法访问,则可以冻结浏览器,因此我们还应该添加超时。为您的用户提供一些有关到底发生了什么的直观指示也可能是有帮助的,因此我们应该将光标设置为“ waiting”。

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
        });
    }
}
Run Code Online (Sandbox Code Playgroud)

编辑:Webkit浏览器现在不建议使用同步AJAX。