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