【发布时间】: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