【发布时间】:2019-11-13 13:40:43
【问题描述】:
鉴于这个小sn-p代码:
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)和有关导致错误的错误报告。如何获取错误回调中可用的失败信息?
【问题讨论】:
-
你为什么不使用
fetch? :-D -
见stackoverflow.com/questions/42721584/…。虽然浏览器本身会将更详细的错误消息记录到控制台,但您无法从代码中访问该消息。请参阅bugs.chromium.org/p/chromium/issues/detail?id=118096#c5:“出于安全原因,XHR 和 Fetch API 的错误细节不会暴露给 JavaScript。”