【问题标题】:IE aborting http post requests with error 0x2ee2IE 中止 http post 请求,错误为 0x2ee2
【发布时间】:2016-08-06 12:36:05
【问题描述】:

我正在使用 angularjs 将文件上传到我的 API。在我的页面上,我有一个多文件选择,一旦用户选择了 1 个或多个文件,页面就会调用我的 api 并为每个文件上传一个请求,例如(不是我的确切代码):

var promises = [];
angular.forEach(files, function(value) {
  promises.push(this.$http.post(this.baseApiUrl + '/files', fd)
            .then((response: ng.IHttpPromiseCallbackArg<any>): any => {
                return response.data;
            })

}

这在除 IE 之外的所有浏览器中都可以正常工作(当然)。在 IE 中,如果有超过 20 个文件,它们中的大多数都可以正常工作,但有几个请求会中止。似乎没有任何模式,它们只会随机中止。请求实际上是到达 API 的,但浏览器放弃了请求并表现得像失败(它不是超时)。 IE给我的错误是: XMLHttpRequest:网络错误 0x2ee2,由于错误 00002ee2,无法完成操作。

当然,我找不到 XMLHttpRequest 错误代码列表,所以我不知道 00002ee2 是什么意思。非常感谢任何帮助。

【问题讨论】:

  • 这似乎主要是 IE 11 的问题,似乎无法在 IE 10 中重现。
  • 所以返回的十六进制代码是十进制的 12002,根据这个页面:support.microsoft.com/en-us/kb/193625,意味着超时假设 IE 使用 WinINet,我认为它确实如此。仍然没有解释为什么会发生这种情况。它似乎在一两秒后超时,而且似乎完全随机。
  • 我也面临这个问题,它发生在 IE 11 中,当 POST 请求需要时间回复时。您是否碰巧找到了解决方法或其他东西?

标签: javascript angularjs internet-explorer xmlhttprequest


【解决方案1】:

2ee2 十六进制转十进制 = 12002

IE aborting http post requests with error 0x2ee2

代码错误信息和说明 12002 ERROR_INTERNET_TIMEOUT 请求已超时。

FIX:某些东西阻止服务器应答。在我的情况下,服务器在调试模式下等待断点:)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-05-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多