Javascript网络错误作为字符串

时间:2015-08-06 01:39:12

标签: javascript ajax xmlhttprequest

当XMLHttpRequest出现错误时,如何在Javascript中获取实际的错误文本?它会输出到控制台,但似乎不可能得到一个字符串。

示例:

var req = new XMLHttpRequest();
req.open('get', 'http://nowhere/', true);
req.send();

这会导致控制台出错:

GET http://nowhere/ net::ERR_NAME_NOT_RESOLVED

如何使用Javascript获取此功能?

编辑:为了澄清,我对网络错误感兴趣,即由于某些其他原因没有响应时。例如,无法解析主机名。另一个例子是拒绝连接。另一个例子是出现CORS错误。

1 个答案:

答案 0 :(得分:1)

要从服务器获取响应,请使用XMLHttpRequest对象的responseText或responseXML属性。

alert(req.responseText);

responseText - 以字符串形式获取响应数据。

responseXML - 将响应数据作为XML数据获取。

要检测ajax请求是否有错误,请检查req.readyState是否等于4,如果req.status小于200,则通过 req.statusText 获取错误。