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