我遇到了一個問題,即瀏覽器未從ajax請求提交POST數據,因此服務器等待它並掛起。瀏覽器,主要是IE8將發送頭信息和內容長度是36,但服務器永遠不會收到該36字節的數據。Internet Explorer瀏覽器問題:瀏覽器未提交POST數據與Ajax請求,服務器/客戶端掛起
這也能說明問題,沒有任何人有其他的解決方案:
IE hang for 5 minutes when calling synchronous xmlhttprequest
它發生的所有請求的10%左右。
什麼會導致這個問題?有沒有辦法來防止它。這似乎主要來自客戶端。也許,用戶將切斷他們的互聯網連接並連接回去。
下面是從框架代碼片段:
檢票ajax.js: ......在客戶端 JavaScript調用:
- t.open( 「POST」, url,this.async);
- t.onreadystatechange = this.stateChangeCallback.bind(this);
- t.setRequestHeader(「Content-Type」,「application/x-www-form-urlencoded」);
- //設置一個特殊標誌以允許服務器區分ajax和非ajax請求
- t.setRequestHeader(「Wicket-Ajax」,「true」);
- t.setRequestHeader(「Accept」,「text/xml」);
- t.send(body);
vÝMon11月28日12時36分24秒2011 000ee03c 0000999a - 詳細信息:POST
... ÝMon11月28日12時36分24秒2011 000ee03c 0000999a - 詳細信息:接受:
文本/ XML
ÝMon11月28日12時36分24秒2011 000ee03c 0000999a - 詳細信息:
接受語言:EN-US
ÝMon11月28日12時36分24秒2011 000ee03c 0000999a - 詳細信息:檢票AJAX:
真
ÝMonNov 28 12:36:242011¨000ee03c 0000999a - 詳情:Referer:
https://data.com/l/launch/
ÝMon11月28日12時36分24秒2011 000ee03c 0000999a - 詳細信息:
檢票focusedelementid:id1924
ÝMon11月28日12時36分24秒2011 000ee03c 0000999a - 詳細信息:內容類型: 應用/ X WWW的窗體-urlencoded
ÝMon11月28日12時36分24秒2011 000ee03c 0000999a - DETAIL:
接受編碼:gzip,放氣
ÝMon11月28日12時36分24秒2011 000ee03c 0000999a - DETAIL :用戶代理:
Mozilla/4.0(compatible; MSIE 8.0; Windows NT 5.1;三叉戟/ 4.0; .NET CLR 2.0。50727; MS-RTC LM 8)
ÝMon11月28日12時36分24秒2011 000ee03c 0000999a - DETAIL:
的Content-Length:36
ÝMon11月28日12時36分24秒2011 000ee03c 0000999a - DETAIL:高速緩存 - 控制: 無緩存
ÝMon11月28日12點36分24秒2011 000ee03c 0000999a - 詳細信息:餅乾:
... 它發送的頭請求數據,但僅此而已。
Arch配置: 服務器:帶有IHS插件的IBM Websphere 6。 Wicket 1.4.13。的Java6。客戶端主要是Internet Explorer 8,9。兼容性和非共享模式。
你看過Fiddler/Charles的請求,看看它發生了什麼?這是同步還是異步調用? – epascarello
它是異步的。 –