salve a tutti.

ho questo piccolo problema che non riesco a risolvere (o meglio, mi servirebbero delle soluzioni su come poterlo risolvere).

praticamente io devo effettuare una scrittura su database nel momento che esco da una determinata pagina (sia che la cambi, sia che chiuda il browser).

avevo provato tempo fà a utilizzare ajax-jquery sfruttando l'evento checkUnload() che chiama una funzione ajax che a sua volta scrive sul database.

problema sostanziale è questo : se faccio la chiamata ajax di default asincrona, funziona "ogni tanto" (nel senso, ogni tanto scrive, ogni tanto no; credo sia dovuto al fatto che non ritornando un valore la funzione s'impalla);

codice:
<script>
	function checkUnload() {
	if(checkload) {
	unloadf('<?=$ajaxtrackid?>');
	}
}
window.onbeforeunload = checkUnload;
</script>
codice:
function unloadf(ajaxtrackid){
	$.ajax({
		type: "POST",
		url: "./asynch/unloadf.php",
		data: "trackid="+ajaxtrackid
	});
}
Codice PHP:
<?
    
include("../database/config.inc.php");
    
// file unloadf.php
    
$update mysql_query("UPDATE tracklist SET block = '0', blockuser = '0', blockdate = '0000-00-00 00:00:00' WHERE trackid = '".$_POST['trackid']."'",$mydb);    
    
mysql_close($mydb);
?>
se faccio la chiamata ajax sincrona, (aggiungendo la riga async:false, nella funzione ajax) funziona sempre, però lato client aspetta un valore di ritorno (immaginate quindi se faccio la chiamata e improvvisamente cade la linea; ipotesi remota, ma teoricamente il browser di bloccherebbe).

mi piacerebbe quindi risolvere il tutto in maniera asincorano, ma appunto, RISOLVERLO, non affidandomi al caso

qualche idea in merito? cordiali saluti e grazie per il supporto!