我遇到的问题是浏览器没有从ajax请求提交POST数据,因此服务器等待它并挂起。浏览器,主要是IE8将发送头信息,内容长度为36,但服务器永远不会收到36字节的数据。
这也描述了问题,是否有其他人有其他解决方案:
IE hang for 5 minutes when calling synchronous xmlhttprequest
大约占所有请求的10%。
什么会导致这个问题?有没有办法防范它。它似乎主要来自客户端。也许,用户将切断他们的互联网连接并重新连接。
以下是框架代码的片段:
检票ajax.js: ... 客户端的Javascript调用:
vÝMonNov28 12:36:242011¨000ee03c0000999a - DETAIL:POST
...
ÝMonNov11月12日:36:242011¨000ee03c0000999a - 详情:接受:
文/ XML
ÝMonNov11月12日:36:242011¨000ee03c0000999a - DETAIL:
接受语言:en-us
ÝMonNov11月12日12:36:242011¨000ee03c0000999a - DETAIL:wicket-ajax:
真正
ÝMonNov11月12日:36:242011¨000ee03c0000999a - DETAIL:Referer:
https://data.com/l/launch/
ÝMonNov11月12日:36:242011¨000ee03c0000999a - DETAIL:
wicket-focusedelementid:id1924
ÝMonNov11月12日12:36:242011¨000ee03c0000999a - DETAIL:Content-Type:
应用程序/ x-WWW窗体-urlencoded
ÝMonNov11月12日:36:242011¨000ee03c0000999a - DETAIL:
Accept-Encoding:gzip,deflate
ÝMonNov11月12日:36:242011¨000ee03c0000999a - DETAIL:User-Agent:
Mozilla / 4.0(兼容; MSIE 8.0; Windows NT 5.1; Trident / 4.0; .NET CLR
2.0.50727; MS-RTC LM 8)
ÝMonNov28 12:36:242011¨000ee03c0000999a - DETAIL:
内容长度:36
ÝMonNov11月12日:36:242011¨000ee03c0000999a - DETAIL:Cache-Control:
无缓存
ÝMonNov11月12日:36:242011¨000ee03c0000999a - DETAIL:Cookie:
...
它发送头请求数据但是全部。
Arch配置: 服务器:带有IHS插件的IBM Websphere 6。 Wicket 1.4.13。的Java6。客户端主要是Internet Explorer 8,9。兼容性和非Compat模式。
答案 0 :(得分:-1)
这可能是缓存问题。我建议你通过每次提交更改网址来伪造。所以,你的代码可能看起来像这样
var d = new Date();
t.open("POST", url+d.valueOf(), this.async);
因此,您的网址永远不会重复。这有助于防止缓存问题。