IE10中的卸载事件,没有表单数据
Unload event in IE10, no form data
我有一个窗口。卸载挂钩,以保存我的表单数据在紧急情况下,当用户刚刚关闭他们的浏览器。我通过POST使用ajax发送这个。这适用于IE9, Chrome等,但不适用于IE10,其中表单数据为空(使用GET是一种解决方案)。
我找不到任何关于这种行为的参考,它是记录在某个地方吗?
我假设,您正在使用这样的代码:
<html>
...
<body onunload="inOnUnload();">
...
与inOnUnload()
-函数定义如下:
function inOnUnload() {
xmlhttp.open("POST", "http://some-location", /*async*/ true);
http.send(request);
}
这个在IE10中的问题是,在文档最终被卸载之后,它似乎取消了请求。这发生在表单数据有机会离开客户机之前。IE10中onunload
事件发送数据,必须使用XMLHttpRequest.open(...)
中的async = false
参数。
下面的工作对我来说很好:
function inOnUnload() {
xmlhttp.open("POST", "http://some-location", /*async*/ /*!!!*/ false);
http.send(request);
}
相关文章:
- 如何从pdftron webviewer获取表单数据
- JS验证ajax返回的html中的表单数据
- 在不同的文件中使用Javascript获取表单数据
- 使用Javascript读取Webstorage表单数据
- Uploadify-随机表单数据's已返回上载表单
- 如何在使用ajax提交的codeigniter中使用form_validation验证表单数据
- 在post-expressjs之后持久化表单数据
- 需要一个用于AJAX的Javascript库,其中包含多部分/表单数据
- jQuery发布并获取表单数据
- Ajax表单数据phpPOST不工作
- 如何将整个模型集附加到表单数据中,并在MVC中获得它
- 如何从javascript访问表单数据
- 如何从Angular Payments获取表单数据
- 通过javascript获取pdf文件的表单数据
- 有没有一种方法可以在jQuery.serialize()之前获取表单数据,或者与jQuery.sserialize(()
- 在 Angular2 中构建多部分/表单数据 POST 请求并验证输入类型文件
- 无法读取未定义的属性“用户名” - 通过电子邮件在 Node.js 中发送表单数据
- 使用 Ajax 获取表单数据
- 我无法从引导模式中清除表单数据
- 如何从 django 模板语言获取表单数据