Ajax调用无法在onbeforeunload事件中工作

我有一些function,我需要在使用浏览器的“X”按钮关闭浏览器之前进行ajax调用以更新数据库值。 我在相关文件的标题中使用了以下代码:

$(document).ready(function() { window.onbeforeunload = function(){ $.ajax('index.php/ajax/myfunction?a=4'); } }); 

关闭浏览器时,该function有效,但不执行ajax调用。

解决方案是什么?

也许不是最漂亮的代码,但在我的经验中,在超时线程中产生ajax调用很好地跨浏览器工作

 $(window).bind("beforeunload", function (e) { setTimeout(function(){ $.ajax({ type: 'GET', async: false, url: "[YOUR API CALL]" }); }, 0); }); 

注意我上次使用它时是在使用Jquery 1.7的项目上