SCRIPT7002:XMLHttpRequest:网络错误0x2ef3,由于错误00002ef3无法完成操作
目前没有有效的解决方案.
更新:也在IE11上注意到.
经过越来越多的调查,我得到了这样的结果:
- 问题是我的应用程序特有的,它不会发生在Facebook上.
- 这个问题与每个主机的最大请求数无关(我做了充斥服务器的示例页面,IE10能够同时处理多达8-10个请求,在我的应用程序中我也尝试连续执行ajax请求,它也失败了).
- 该问题特定于POST请求.
- 问题并不是特定于使用的JS库(我尝试从控制台直接使用XMLHttpRequest也失败了).
- 失败发生在xhr.send(),xhr.readyState = 4和xhr.onreadystatechange触发之后.
- 该故障与任何内容类型,正确请求或服务器配置无关.它只是客户端,请求虚拟页面将失败,只有最小的XHR,只有xhr.open和xhr.send.
- 它主要发生在清除浏览器缓存之后.
- 在POST之前执行GET请求不能解决此问题.
我的问题是:
- 浏览器缓存如何影响POST ajax请求?
- 是否有任何机构与IE开发人员联系,告诉我们这个错误'网络错误0x2ef3'映射到了什么?
现在,我正在做的临时解决方案是,如果HTTP状态代码为零,则只重试最多3次.但它非常难看,因为即使上传请求有时也会失败,并且对于那些重试的请求变得缓慢,有时需要额外的100毫秒.
重现步骤:
- 确保禁用fiddler或代理.
- http://ie10.laiths.name/#!login
- 打开IE10控制台,删除浏览器缓存.
- 尝试此无效登录:random@rand.com/random
- 3-4次(清除缓存/无效登录)后,您将看到以下错误:SCRIPT7002:XMLHttpRequest:网络错误0x2ef3,由于错误00002ef3无法完成操作.
我的IE版本:
- Win7 IE10版本:10.0.9200.16618
- 更新版本:10.0.6(KB2838727)
现在我正在解决它,如果browser is IE10&& Request is POST&& 重试最多3次HTTP status code is 0.
如果有人可以帮我删除我丑陋的解决方案,我将不胜感激,因为有了这样的解决方案,即使请求进入服务器并且它返回0我也会重试(我试图通过测量xhr.send之间的时间来避免这种情况)和它的回调但它不可靠),如果IE10在comptMode中,如果IE11有同样的问题,添加到那个性能,它将占用我的机器〜每次重试之间的170ms.