在窗口卸载之前调用jquery ajax函数的确切方法是什么?

我需要在窗口卸载之前调用jquery ajax()函数。 在我的情况下它是一个POST,我不关心返回结果,我只想要更新数据库。

所以答案似乎是将函数绑定到unload事件,即使用jquery unload()函数,该函数进行ajax调用。 另外,我知道你应该在调用中添加同步参数。 换句话说,将async:false添加到jquery ajax()调用。

但是,我已经尝试了所有这些,它在IE8上不起作用! 我已经多次测试了它,它根本不适用于IE8。 适用于Firefox和Chrome。

更奇怪的是,在我关闭整个IE8应用程序之后,似乎然后呼叫通过了! 它被缓存了吗?

所以其他人建议在使用jquery bind()之前绑定ajax。 但是,对于这是否适用于所有浏览器似乎有一些混合的答案。

我还没有尝试过beforeunload,因为这似乎是“黑客”的做法。 但是,如果它有效,那么只要它确实有效,我就不在乎。

你能否在页面的body标签中调用该函数?

 

这样每次页面卸载它都会调用你的函数,你不必担心绑定。