给出以下代码片段:
function getPage () {
var xhttp = new XMLHttpRequest();
xhttp.addEventListener("error", getFailed);
xhttp.open("GET", "http://nonexistentserver.com", true);
xhttp.send();
}
function getFailed(msg) {
// I get an ProgressEvent object which doesn't have any text properties?
}
运行时,确实会调用getFailed()回调,但是我找不到有关如何确定错误原因的任何信息。当我搜索信息时,我所能找到的只是HTML错误(例如404)和有关导致错误的错误报告。如何在错误回调中获取有关失败原因的信息?
答案 0 :(得分:0)
在您的情况下,似乎无法获取错误信息。有一些显示请求状态的属性:XMLHttpRequest.status,XMLHttpRequest.statusText和XMLHttpRequest.responseText。但是在这种情况下,它们都不起作用(仅XMLHttpRequest.status显示为“ 0”)。当发生错误时,将调用XMLHttpRequest的错误事件。它不会发送有关该错误的任何信息。希望这些对您有所帮助:XMLHttpRequest和XMLHttpRequest Properties
答案 1 :(得分:0)
您可以尝试使用onprogress
事件并处理状态代码,如下所示:
var xhr = new XMLHttpRequest;
xhr.onprogress = function () {
console.log(xhr.status); //404 will be printed on console
};
xhr.open('GET', '/noexists');
xhr.send();