【问题标题】:Performing GET request before leaving page离开页面前执行 GET 请求
【发布时间】:2010-07-23 18:38:46
【问题描述】:

如果GET请求如下

$(window).bind('beforeunload', function() {
    // GET request
});

并且页面在 GET 请求完成之前被放弃

目标服务器是否仍会处理请求?还是会以某种方式消失?


我想在beforeunload 触发时发送服务器数据,但不会窃取用户的无用毫秒。

如果有人可以帮助我,那将非常有用。

【问题讨论】:

    标签: javascript ajax get jquery-events onbeforeunload


    【解决方案1】:

    如果是异步请求,那么服务器可能会处理它(如果它接收到请求),但我不知道您是否可以保证在页面卸载之前请求会通过或者是否会被处理 -这可能取决于实际的 Web 服务器(其他人可能有更多信息)。如果您发出同步请求,页面将等待直到请求通过并返回响应(因此在这种情况下,可以保证处理)。但是,这意味着您的浏览器将被锁定,直到该请求完成,这可能是不可取的。

    【讨论】:

    • 我同意,我不会为任何需要依赖请求通过的事情这样做。
    • @Joe 是的,总的来说这不是很可靠。
    • @Joe @Vivin 感谢您的回复! =) 一定有办法达到90%以上的成功率?
    【解决方案2】:

    在大多数情况下是的,但这取决于 Web 应用程序服务器。有些可以检测到断开连接并随请求停止。

    【讨论】:

    • 感谢您的回复! =) 我正在使用 python,并查看各种网络库。
    猜你喜欢
    • 2014-12-01
    • 1970-01-01
    • 2016-05-11
    • 2021-10-03
    • 2018-04-14
    • 2021-06-11
    • 2019-01-15
    • 2021-08-02
    • 1970-01-01
    相关资源
    最近更新 更多