I am trying to update the database when the user close or refresh the browser. This is my code:
$(window).bind('unload', function(){
$.ajax({
type: 'get',
async: false,
url: 'liberaLugar.php?idCurso=2'
});
});
Any help will be appreciated. Thanks in advance!
This should work for you in most cases. of course, if your server is unreachable, you could freeze the browser, so we should also add a timeout. it may also be helpul to give your user some visual indicator of what the hell is going on, so we should set the cursor to 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
});
}
}
EDIT: Synchronous AJAX is now deprecated in Webkit Browsers.