gpt4 book ai didi

javascript - IE11 中的间歇性 AJAX 文件上传失败 - F12 工具无限期地显示 "Pending..."

转载 作者:行者123 更新时间:2023-11-30 00:23:16 24 4
gpt4 key购买 nike

我正在向 SPA 应用程序添加文件上传功能。文件上传在最新版本的 Chrome 和 Firefox 中完美运行,但 IE 11 间歇性地(可能有 5%-10% 的时间)无法执行 XHR 请求。使用 F12 工具检查请求并没有提供太多有用的信息:

F12 Developer Tools with failed XHR request

请求无限期地保持在这个“待定”状态。

以下是我触发文件上传的方式(使用 jQuery):

function uploadFile() {
var formData = new FormData();

// filesToUpload is an Array<File>
formData.append('file', filesToUpload[0]);

$.ajax({
type: 'POST',
url: 'api/testupload',
data: formData,
contentType: false,
processData: false,
success: function() { ... },
error: function() { ... }
});
}

我注意到这通常发生在让页面站点至少闲置几分钟之后。

一旦一个POST上传请求失败,所有后续POST上传请求失败。但是,如果我执行 GET失败后请求 POST , 随后 POST通常工作。如果我让失败的 POST随着时间的推移,浏览器变得无响应(通常发生在六七个“未决”POST 请求之后)。

是什么导致了这种间歇性故障?会切换到 <iframe>上传解决这个问题?这可能是问题与网络有关吗?或者服务器如何响应?或者我如何配置和执行我的请求?


编辑:

这是我文档的 <head> 的相关部分:

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta http-equiv="cache-control" content="no-cache" />
<meta http-equiv="expires" content="0" />
<meta http-equiv="pragme" content="no-cache" />
</head>


编辑:(再次)

使用 Wireshark ,我能够看到 POST正在发送带有文件的请求

最佳答案

我遇到了类似的问题,解决方案是强制使用旧的 iframe 文件上传方法。

我的具体情况:在 IE11 上使用 SSO 的应用程序上使用 jquery 文件上传插件 (blueimp) 会导致 PUT 请求卡在挂起状态。如果我在不使用 SSO 的情况下登录到我的应用程序,那么 ajax 文件上传将完美无缺。另外,就像您的情况一样,使用 GET 请求似乎可以刷新内容并允许下一个 PUT 文件上传请求起作用。此插件中的固定设置是 forceIframeTransport: true

关于javascript - IE11 中的间歇性 AJAX 文件上传失败 - F12 工具无限期地显示 "Pending...",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32380865/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com