选项资源无法加载,仅在chrome中加载

时间:2013-01-02 17:54:14

标签: 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中完美运行),说无法加载资源且问题不一致。它上传一次或两次有时会开始大喊大叫。当这是错误时,它甚至不会调用服务器。

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

我无法想象这样的事情会发生什么。感谢任何领导,谢谢。

enter image description here

编辑:当我将XHR包装并在另一个SO answer中明确设置为异步时,它正在进行至少3-4次上传并开始大喊。(稍微好一点更早)。我怀疑它是否对真实有影响 当状态发生变化时,我正在记录就绪状态和状态。 readyState只从1跳到4,状态为0。

1 个答案:

答案 0 :(得分:1)

我也有类似的问题,我的问题是通过解决HTTP与HTTPS冲突解决的。

如果上传文件的页面是从HTTP提供的,而您发布的帖子请求是HTTPS,则可能会在chrome中提供“资源加载失败”错误,这就是我的情况。

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

我做了HTTP和我的问题都解决了。如果这也解决了你的问题,请告诉我。祝你好运。