ajax执行success和error的状态

$.ajax({   
   type="post",  
   url:url,  
   data:{a:1},  
   dateType:"json",   
   success:function(callbackdata){   
     alert("success");   
   },   
   error:function (data, status, e){   
     alert("error");   
   }   
}); 

Ajax请求通过XMLHttpRequest对象发送请求,该对象有四个状态(readyState): 

0-未初始化 
1-正在初始化 
2-发送数据 
3-正在发送数据 
4-完成 
当XMLHttpRequest.readyState为4时,表示请求已经完成可以得到响应结果。当然success和error方法还是根据响应状态码来触发。当XMLHttpRequest.status为200的时候,表示响应成功,此时触发success().其他状态码则触发error(). 

Jquery的$.ajax()函数只是封装了ajax请求,本质上还是通过JS XMLHttpRequest内置对象来处理的。

除了根据响应状态码外,ajax还会在下列情况下走error方法:

1. 返回数据类型不是JSON

2. 网络中断

3. 后台响应中断

知道这个知识点有什么用呢?小编觉得这个在restful API中定义返回的JSON消息格式是很有用的。

具体怎么定义restful API返回的JSON格式,小编下篇文章再说吧。


posted @ 2017-06-19 15:24  Jonny-Xhl  阅读(448)  评论(0编辑  收藏  举报