在浏览器关闭时,JavaScript并不总是调用自定义服务器端方法(Asp.Net/C#)

时间:2013-07-24 10:58:00

标签: javascript onbeforeunload

在浏览器关闭事件中,我试图从JavaScript调用服务器端方法,以进行一些数据库表更改。我在JavaScript中的“onbeforeunload”事件中这样做。

大多数情况下,它成功调用服务器端代码并​​实现预期的数据库表更改* 但有时候,服务器端事件不会被调用。 *

有没有人对类似的要求有任何经验,或者能否就如何确保始终如一地调用服务器端事件提供任何建议?

1 个答案:

答案 0 :(得分:0)

啊哈,我们有一次这样的问题,我们绝对需要给我们的服务器通知窗口已关闭。我们注意到只有Firefox才会服从onbeforeunload内的请求。最后,解决方案如下:

$(window).unload(function () {
    $.ajax ({
        url: "...",
        data: "(what you want to send)",
        async: false                             // THIS
    });
});

更奇特的是window.onunloadwindow.onbeforeunload都不适合我们;至少不是那时候。