I am experiencing an issue where the browser is not submitting POST data from an ajax request and so the server waits for it and hangs. The browser, mostly IE8 will send the header information and the content-length is 36 but the server never receives that 36 bytes of data.
This also describes the problem, does anyone else have other solutions:
IE hang for 5 minutes when calling synchronous xmlhttprequest
It happens about 10% of all the requests.
What would cause this issue? Is there a way to guard against it. It seems to happen mostly from the client side. And maybe, a user will cut their internet connection and connect back.
Here is a snippet from the framework code:
wicket-ajax.js: ... Javascript call on the client-side:
- t.open("POST", url, this.async);
- t.onreadystatechange = this.stateChangeCallback.bind(this);
- t.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
- // set a special flag to allow server distinguish between ajax and non-ajax requests
- t.setRequestHeader("Wicket-Ajax", "true");
- t.setRequestHeader("Accept", "text/xml");
- t.send(body);
vÝMon Nov 28 12:36:24 2011¨ 000ee03c 0000999a - DETAIL: POST
...
ÝMon Nov 28 12:36:24 2011¨ 000ee03c 0000999a - DETAIL: Accept:
text/xml
ÝMon Nov 28 12:36:24 2011¨ 000ee03c 0000999a - DETAIL:
Accept-Language: en-us
ÝMon Nov 28 12:36:24 2011¨ 000ee03c 0000999a - DETAIL: wicket-ajax:
true
ÝMon Nov 28 12:36:24 2011¨ 000ee03c 0000999a - DETAIL: Referer:
https://data.com/l/launch/
ÝMon Nov 28 12:36:24 2011¨ 000ee03c 0000999a - DETAIL:
wicket-focusedelementid: id1924
ÝMon Nov 28 12:36:24 2011¨ 000ee03c 0000999a - DETAIL: Content-Type:
application/x-www-form-urlencoded
ÝMon Nov 28 12:36:24 2011¨ 000ee03c 0000999a - DETAIL:
Accept-Encoding: gzip, deflate
ÝMon Nov 28 12:36:24 2011¨ 000ee03c 0000999a - DETAIL: User-Agent:
Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR
2.0.50727; MS-RTC LM 8)
ÝMon Nov 28 12:36:24 2011¨ 000ee03c 0000999a - DETAIL:
Content-Length: 36
ÝMon Nov 28 12:36:24 2011¨ 000ee03c 0000999a - DETAIL: Cache-Control:
no-cache
ÝMon Nov 28 12:36:24 2011¨ 000ee03c 0000999a - DETAIL: Cookie:
...
It sends the header request data but that is ALL.
Arch Configuration: Server: IBM Websphere 6 with IHS plugin. Wicket 1.4.13. Java6. The client side is mostly Internet Explorer 8, 9. Compatibility and Non Compat modes.