试图使用以下代码将文件上载到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中很好),它表示未能加载资源,并且问题不一致。它有时会上传一两次开始大喊大叫。当这是错误时,它甚至不调用服务器。
尝试使用这个怪胎中示例中的jquery。但没有好处。
我不知道这种事怎么会发生。我很感激任何线索,谢谢。

编辑:当我包装我的XHR并显式设置异步时,就像在另一个所以回答中说的那样,它至少可以运行3-4个上传,并且开始呼喊。(比以前稍微好一点)。我怀疑它是否真的产生了效果。
当状态更改发生时,我将记录就绪状态和状态。readyState只是从1跳到4,状态为0。
发布于 2013-01-11 09:56:05
我也有类似的问题,我的问题是通过解决HTTPS冲突解决的。
如果您正在进行的HTTP和post请求提供上传文件的页面是HTTPS,那么它可能会在chrome中产生“资源加载失败”错误,这就是我的情况。
页面服务和Post请求都应该是HTTP,或者两者都应该是HTTPS,可以是两者的结合。
我做了两个HTTP,我的问题解决了。让我知道,如果这解决了你的问题以及.best的运气。
https://stackoverflow.com/questions/14126774
复制相似问题