使用jquery的ajax方法向服务器发送请求的时候,常常需要使用到error函数进行错误信息的处理,

一般error函数返回的参数有三个: function(jqXHR jqXHR, String textStatus, String errorThrown)。常见调用代码如下:

$.ajax({
url: '/Home/AjaxGetData',
success: function (data) {
alert(data);
},
error: function (jqXHR, textStatus, errorThrown) {
/*错误信息处理*/
}
});

jqXHR jqXHR:

这里的jqXHR是一个jqXHR对象,在Jquery1.4和1.4版本之前返回的是XMLHttpRequest对象,1.5版本以后则开始使用jqXHR对象,

该对象是一个超集,就是该对象不仅包括XMLHttpRequest对象,还包含其他更多的详细属性和信息。

这里主要有4个属性:

  • readyState :当前状态,0-未初始化,1-正在载入,2-已经载入,3-数据进行交互,4-完成。
  • status  :返回的HTTP状态码,比如常见的404,500等错误代码。
  • statusText :对应状态码的错误信息,比如404错误信息是not found,500是Internal Server Error。
  • responseText :服务器响应返回的文本信息

String textStatus

返回的是字符串类型,表示返回的状态,根据服务器不同的错误可能返回下面这些信息:

"timeout"(超时), "error"(错误), "abort"(中止), "parsererror"(解析错误),还有可能返回空值。

String errorThrown:

也是字符串类型,表示服务器抛出返回的错误信息,

如果产生的是HTTP错误,那么返回的信息就是HTTP状态码对应的错误信息,

比如404的Not Found,500错误的Internal Server Error

$.ajax({
url: '/AJAX请求的URL',
success: function (data) {
alert(data);
},
error: function (jqXHR, textStatus, errorThrown) {
/*jqXHR对象的信息*/
console.log('jqXHR.responseText --> ',jqXHR.responseText);
console.log('jqXHR.status --> ',jqXHR.status);
console.log('jqXHR.readyState --> ',jqXHR.readyState);
console.log('jqXHR.statusText --> ',jqXHR.statusText);
/*其他两个参数的信息*/
console.log('textStatus --> ',textStatus);
console.log('errorThrown --> ',errorThrown);
}
});
05-11 17:13