我正在尝试将用户更改保存到服务器上的表单,并在选项卡/窗口关闭时使用AJAX。
这是一个类似的问题: Intercept page exit event
我正在使用此代码:
$(window).bind('beforeunload', beforeUnload);
...除了使用IE11之外,似乎工作正常。
似乎当IE11中弹出用户验证警报时,之前运行的每一段JS代码都会停止(我的数据不会通过网络发送)。 因此,如果用户选择离开,一切都消失了。
是否有人在该浏览器上运行? 有可能吗?
编辑:
我现在看到它有时会起作用而在其他人身上失败。
当它失败时,它会启动AJAX调用(它会在那个时刻点击断点),但是永远不会进入成功/失败函数......(我在使用Fiddler时看不到任何内容)
总之,它首先点击AJAX调用断点,然后显示确认对话框,当你选择离开页面时,没有任何内容被发送...... :(
答案 0 :(得分:0)
事实证明,这种保存数据的方法并不可靠,只能靠纯粹的运气工作。
此外,同步XHR现在被标记为已弃用,因此使用它也不是一个好主意。
所以,我猜网络并不意味着以这种方式工作......