javascript - 选项 资源加载失败,仅在 Chrome 中

标签 javascript google-chrome file-upload xmlhttprequest

尝试使用以下代码将文件上传到 servlet:

    var fd = new FormData();
    fd.append("file", document.getElementById('fileToUpload').files[0]);
    var xhr = new XMLHttpRequest();
    xhr.upload.addEventListener("progress", uploadProgress, false);
    xhr.upload.addEventListener("load", transferComplete, false);
    xhr.addEventListener("error", onError, false);
    xhr.addEventListener("abort", onUploadCanceled, false);

    xhr.open("POST", urlManager.getUploadHandlerUrl());
    xhr.send(fd);

该问题仅在chrome中出现(在Firefox中完美运行),说Failed to load the resources,与问题不一致。它上传一两次有时会开始喊叫。当出现此错误时,它甚至不会调用服务器。

尝试使用 this quesion 中的示例中的 jquery 。但没有任何好处。

我无法想象这样的事情怎么会发生。我很感谢任何线索,谢谢。

enter image description here

编辑:当我包装 XHR 并按照另一个 SO answer 中所述显式设置异步时,它至少可以进行 3-4 次上传并开始大喊大叫。(比之前好一点)。我怀疑它是否真的有效果。
当状态发生变化时,我正在记录就绪状态和状态。 ReadyState 只是从 1 跳到 4,状态仍为 0。

最佳答案

我也遇到了类似的问题,通过解决 HTTP 与 HTTPS 冲突解决了我的问题。

如果上传文件的页面是通过 HTTP 提供的,并且您发出的 post 请求是 HTTPS,那么它可能会在 Chrome 中给出“资源加载失败”错误,这就是我的情况。

页面服务和 Post 请求都应该是 HTTP 或都应该是 HTTPS ,它可以是两者的组合。

我做了 HTTP,我的问题就解决了。让我知道这是否也解决了您的问题。祝您好运。

关于javascript - 选项 资源加载失败,仅在 Chrome 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14126774/

相关文章:

javascript - 使用 underscore.js 按子数组中的属性过滤

javascript - Youtube API - 如何删除事件监听器?

javascript - 在 chrome 扩展程序中收听选定的文本拖动事件

.net - 仅在 Chrome 中无效的 HTTP 状态代码 405

ruby-on-rails - 将上传的文件发送给resque工作人员进行处理

c# - jquery如何从这个数组中获取数据

html - 为什么 Chrome 会在设备模式下更改输入/选择框?

php - 如何使用 Codeigniter/PHP 将文件上传到 amazon S3?

php - 检测 ajax 上传何时意外终止

javascript - 动态悬停同位素