我正在测试一个简单的移动上传解决方案 - 这个问题不是关于实际的上传 - 在Chrome中它上传火灾中的图片错误事件引发 - 到目前为止一直很好 - 但现在我需要它为什么会触发。事件发送过来肯定在对象中有一些错误信息 - 但是我检查了progressevent的规格,我有点想知道它正在发送,但我仍然无法得到错误代码,描述或任何东西来帮我调试 - 任何指针好吗?
xhr.addEventListener("error", uploadFailed, false);
function uploadFailed(evt) {
alert("There was an error attempting to upload the file.");
alert(evt.error.toString()); // this is where the trouble starts
// the evt.error is undefined?
}
thnx; - )
答案 0 :(得分:1)
XMLHttpRequest对象具有与请求的HTTP状态对应的status或statusText属性。这可能是一个很好的起点。另外,检查调试器中的JS控制台和网络选项卡可能会产生一些有用的信息(特别是在CORS问题时)。
使用status属性,您的错误处理程序可能看起来像这样:
xhr.addEventListener('error', function ()
{
if (xhr.status >= 500)
{
alert("Something went wrong on the server!");
}
else if (xhr.status >= 400)
{
alert("Something went wrong with the request on our side!");
}
else
{
alert("No HTTP error indicated, yet the error event fired?!");
}
});