使用jquery的ajax方法向服务器发送请求的时候,可选的回调函数有success、complete、beforeSend、error函数等。error函数常用来进行错误信息的处理,这里着重提一下error函数的参数。

首先看一下ajax的使用场景:

$.ajax({
url:'/Home/AjaxGetData',
type:"post",
timeout:5000,
async:true,
cache:true,
data:"user_id=12&page=0", //发送给服务器的数据
dataType:"json",
contentType:"application/x-www-form-urlencoded",
beforeSend:function(){
... //发送请求
},
success:function(data){
... //执行状态是200时候调用
},
complete:function(){
... //完成了一次请求调用
},
error:function (jqXHR, textStatus, errorThrown){
/* 错误信息处理 */
... //执行状态是非200时候调用
}
});
 

一般error函数返回的参数有三个: function(jqXHR jqXHR, String textStatus, String 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对象的信息*/
alert(jqXHR.responseText);
alert(jqXHR.status);
alert(jqXHR.readyState);
alert(jqXHR.statusText);
/*弹出其他两个参数的信息*/
alert(textStatus);
alert(errorThrown);
}
});

最新文章

  1. VS2012 Unit Test —— 我对接口进行单元测试使用的技巧
  2. CSS使用position定位后导致元素浮动
  3. c++控制台程序实现定时器
  4. C++ 笔记(一) —— 尽量以 const、enum、inline 替换 #define
  5. Docx读写Word
  6. Selenium2学习-024-WebUI自动化实战实例-022-网站不同分辨率下页面样式展示兼容性问题解决方案 -- 设置浏览器显示区域大小(无人值守,节约测试成本的福音,BOSS 最爱)
  7. python-day6 常见算法 python内置模块
  8. 百度VS高德:LBS开发平台ios SDK对比评测
  9. 转-CSS优先级(权重)解析
  10. css实现一行居中显示,两行靠左显示,超过两行以引号省略
  11. 怎样写一个与Windows10 IE11兼容的标准BHO?
  12. 关于String类学习的一些笔记(本文参考来自程序员考拉的文章)
  13. [转帖]SAP一句话入门:Sales and Distribution
  14. Qt编写高仿苹果MAC电脑输入法(支持触摸滑动选词)
  15. CentOS 7 MariaDB-MHA
  16. Docker——入门实战
  17. oracle小知识点
  18. 【前端积累】Awesome初识
  19. Django的基本开发环境配置和MTV模型
  20. 常用数据库ID格式

热门文章

  1. KVM Pass-through 上部署 MiniSMB HurricaneII
  2. mysql 索引类型以及创建
  3. hardsource bug
  4. js uppercase the first letter of string
  5. GitHub Classroom
  6. ES6 & Classes & Interface
  7. Web 安全 & 反爬虫原理
  8. how to export svg form web page in js
  9. SPC空投搅动市场,NGK算力持有者或成大赢家!
  10. opencv打不开摄像头