Jquery - post beforeunload

时间:2016-02-06 00:56:10

标签: javascript jquery

我想在卸载之前发布数据(就在访问者关闭页面之前)。卸载可能因浏览器而异,所以我在下面的脚本中做了这个;

$(document).ready(function(){

var runme = true;

$(window).bind('beforeunload', function () {
    if(runme){

if ($("#benyaziyormuyum").val()=="evet") {

$.post("yazmabirak.php", {
karsidaki: "exited",
});

}
        runme=false;
    }

});

$(window).unload(function () {
    if(runme){

$.post("yazmabirak.php", {
karsidaki: "exited",
});
        runme=false;
    }
});

适用于所有浏览器,Chrome除外。我的问题是,在使用卸载功能之前应该使用哪些功能才能使其在Chrome上运行?

1 个答案:

答案 0 :(得分:2)

你确定它没有被调用吗?

$ .post是一个异步调用,你没有任何东西阻止浏览器在$ .post()之后继续。

您需要使用$ .ajax()进行同步,您可以在其中设置async:false

how to make a jquery "$.post" request synchronous

http://api.jquery.com/jquery.ajax/