2013-05-05 22 views
0

我有window.unload掛鉤,以在用戶關閉瀏覽器時在緊急情況下保存我的表單數據。我通過POST發送這個使用ajax。這適用於IE9,Chrome等,但不適用於表單數據爲空的IE10(使用GET是一種解決方法)。在IE10中卸載事件,沒有表單數據

我找不到任何對此行爲的引用,是否記錄在某處?

回答

2

我想,你正在使用這樣的代碼:

<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); 
}