在页面退出时运行AJAX调用


Run AJAX call on page exit

我在尝试使用事件$(window).unload运行同步AJAX调用时遇到了一些问题。

根据文件:

从jQuery 1.8开始,不赞成使用async:false。

我试图在用户退出页面之前,将用户的数据(姓名、年龄和一大串数字)一次性发送到php文件。

这可能吗?

谢谢。

您可以尝试beforeunload

$(window).bind('beforeunload', function() {
//Do your processing
return "You want to close the window?"
});

如果这些数据很重要,我甚至不会尝试这样做,因为无法保证会发生unload事件。该人可以关闭浏览器,拉动电脑上的plu等

我会在页面上有一个保存按钮。

看看这些:

卸载事件可以用来可靠地触发ajax请求吗?

为什么可以';我是否使用jQuery从卸载事件处理程序激发AJAX请求?

在卸载时通过Ajax运行PHP

结论:

最好不要有异步请求。您必须在php中设置ignore_user_abort(),以便在连接断开时不会终止!

是的,但您不知道浏览器是否会在请求离开计算机之前中断它。我认为这取决于浏览器。几乎可以肯定的是,客户端没有办法处理响应。