当XMLHttpRequest出现错误时,如何在Javascript中获取实际的错误文本?它会输出到控制台,但似乎不可能得到一个字符串。
示例:
var req = new XMLHttpRequest();
req.open('get', 'http://nowhere/', true);
req.send();
这会导致控制台出错:
GET http://nowhere/ net::ERR_NAME_NOT_RESOLVED
如何使用Javascript获取此功能?
编辑:为了澄清,我对网络错误感兴趣,即由于某些其他原因没有响应时。例如,无法解析主机名。另一个例子是拒绝连接。另一个例子是出现CORS错误。
答案 0 :(得分:1)
要从服务器获取响应,请使用XMLHttpRequest对象的responseText或responseXML属性。
alert(req.responseText);
responseText - 以字符串形式获取响应数据。
responseXML - 将响应数据作为XML数据获取。
要检测ajax请求是否有错误,请检查req.readyState是否等于4,如果req.status小于200,则通过 req.statusText 获取错误。