0

当用户刚刚关闭浏览器时,我有 window.unload 以在紧急情况下保存我的表单数据。我通过 POST 使用 ajax 发送这个。这适用于 IE9、Chrome 等,但不适用于表单数据为空的 IE10(使用 GET 是一种解决方法)。

我找不到对此行为的任何引用,它是否记录在某处?

4

1 回答 1

2

我假设,您正在使用这样的代码:

<html>
   ...
   <body onunload="inOnUnload();">
      ...

使用inOnUnload()-function 定义如下:

function inOnUnload() {
   xmlhttp.open("POST", "http://some-location", /*async*/ true);
   http.send(request);
}

IE10 中的问题在于,在最终卸载文档后,它似乎取消了请求。这发生在表单数据有机会离开客户端之前。要在 IE10 的事件中发送数据,onunload必须使用.async = falseXMLHttpRequest.open(...)

以下对我来说很好:

function inOnUnload() {
   xmlhttp.open("POST", "http://some-location", /*async*/ /*!!!*/ false);
   http.send(request);
}
于 2013-07-03T13:07:50.803 回答