0

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

但是根据文档:

从 jQuery 1.8 开始,不推荐使用 async: false 。

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

这可能吗?

谢谢。

4

4 回答 4

1

你可以beforeunload试试

$(window).bind('beforeunload', function() {
//Do your processing
return "You want to close the window?"
});
于 2012-07-18T06:57:27.007 回答
1

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

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

于 2012-07-18T07:12:41.127 回答
0

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

于 2012-07-18T06:50:14.913 回答
0

看看这些:

可以使用 unload 事件可靠地触发 ajax 请求吗?

为什么我不能使用 jQuery 从卸载事件处理程序触发 AJAX 请求?

在卸载时通过 Ajax 运行 PHP

结论:

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

于 2012-07-18T07:03:50.087 回答