Internet Explorer浏览器问题:浏览器不提交POST数据与Ajax请求,服务器/客户端挂起

Internet Explorer Browser Issue: Browser not submitting POST data with Ajax requests, server/client hangs

本文关键字:浏览器 请求 服务器 Ajax 挂起 客户端 数据 问题 Explorer POST 提交      更新时间:2023-09-26

我遇到了一个问题,浏览器没有从ajax请求提交POST数据,因此服务器等待它并挂起。浏览器(主要是IE8)会发送报头信息,内容长度为36,但服务器永远不会接收到这36字节的数据。

这也描述了问题,其他人有其他的解决方案吗?

调用同步xmlhttprequest时IE挂起5分钟

大约占所有请求的10%。

什么会导致这个问题?有什么方法可以防止它吗?这似乎主要发生在客户端。也许,用户会切断他们的互联网连接并重新连接。

下面是框架代码的一个片段:

wicket-ajax.js:…客户端的Javascript调用:

  1. t。open("POST", url, this.async);
  2. t。onreadystatechange = this. statechangecall .bind(this);
  3. t。setRequestHeader("内容类型","应用程序/x-www-form-urlencoded");
  4. //设置一个特殊的标志,允许服务器区分ajax和非ajax请求
  5. t。setRequestHeader("Wicket-Ajax","真正的");
  6. t。setRequestHeader("接受"、"text/xml");
  7. t.send(身体);

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:
接收语言:en - us
ÝMon Nov 28 12:36:24 2011¨000ee03c 0000999a - DETAIL: wicket-ajax:
真正的
ÝMon Nov 28 12:36:24 2011¨000ee03c 0000999a - DETAIL: reference:
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:应用程序/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;三叉戟/4.0;net CLR2.0.50727;MS-RTC LM 8)

ÝMon Nov 28 12:36:24 2011¨000ee03c 0000999a - DETAIL:
内容长度: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:
…它发送报头请求数据,但这是全部。

拱配置:服务器:带有IHS插件的IBM Websphere 6。Wicket 1.4.13。Java6。客户端主要是ie8和ie9。兼容和非兼容模式。

这可能是缓存问题。我建议你通过每次提交更改url来伪造。因此,你的代码可能看起来像这样

    var d = new Date();
    t.open("POST", url+d.valueOf(), this.async);

所以,你的url永远不会被重复。