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的项目上