XMLHttpRequest事件 - onerror

onerror属性允许我们为当前XMLHttpRequest实例绑定一个error事件回调函数,当Ajax请求出错时触发。

在请求过程中,若发生Network error则会触发此事件(若发生Network error时,上传还没有结束,则会先触发xhr.upload.onerror,再触发xhr.onerror;若发生Network error时,上传已经结束,则只会触发xhr.onerror)。

注意:只有发生了网络层级别的异常才会触发此事件,对于应用层级别的异常,如响应返回的xhr.statusCode是404,并不属于Network error,所以不会触发onerror事件,而是会触发onload事件。

语法

xmlInstance.onerror = callback;

示例

var xhr = new XMLHttpRequest(),
  method = 'GET',
  url = '/example.com';

xhr.onerror = function (e) {
  console.info('Ajax请求出错了');
};

xhr.open(method, url, true);
xhr.send();

相关链接