我需要在窗口卸载之前调用jQuery ajax()函数。 在我的情况下,是一个POST请求,我不关心返回结果,我只想更新数据库。
因此,答案似乎是将一个函数绑定到卸载事件,即使用jQuery unload()函数,并且该函数会进行ajax调用。此外,我知道您应该向调用中添加同步参数。换句话说,将async: false添加到jQuery ajax()调用中。
然而,我已经尝试了所有这些方法,在IE8上它们都不起作用!我测试了很多次,但它在IE8上根本不起作用。在Firefox和Chrome上运行良好。
更奇怪的是,在我关闭整个IE8应用程序之后,似乎调用会通过!它被缓存了吗?
因此,其他人建议使用jquery bind()在beforeunload上绑定ajax。但是,对于是否可以在所有浏览器上使用这种方法存在一些不同的答案。
我还没有尝试beforeunload方法,因为它看起来像是"hack"的方法。然而,如果它能够正常工作,那么我并不在意它是否"hack"。