我正在使用XHR上传一个在FF中效果很好但在Chrome中失败的文件。
抛出错误,表示Upload failed: 0
,这意味着xhr.status返回0
- 我不确定这意味着什么?没有记录其他状态。
//Check if we have XHR / File support
if (typeof File != "undefined" && typeof (new XMLHttpRequest()).upload != "undefined")
{
var xhr = new XMLHttpRequest();
xhr.upload.onprogress = function(e){
if (e.lengthComputable){
uploadStarted = true;
var loaded = (e.loaded / e.total) * 100;
ShowProgress(loaded);
}
};
xhr.onreadystatechange = function(){
if (xhr.readyState == 4){
if (xhr.status == 200){
uploadComplete();
} else {
alert("Upload failed: " + xhr.status);
}
console.log("status",xhr.status);
}
};
var formElement = document.getElementById("configForm");
xhr.open("POST", $("#configForm").attr('action') , true);
xhr.send(new FormData(formElement));
}
答案 0 :(得分:1)
xhr.status == 0
表示有some network error。但规格并未说明如何找出错误是什么。
我建议将整个xhr
结构记录到控制台(console.log(xhr)
)。也许其他一个领域包含一些有价值的数据。
如果失败,请检查服务器的错误日志。也许服务器端出了问题。