jQuery(function($){

$('button').click(function(){

var name = $(this).attr('name');

ajaxsuccessphpajax在什么情形下会走success和error GraphQL

$.ajax({

url:\公众hello.php\公众,

type:\"大众POST\"大众,

data:{'search':name},

success:function(data)

{

alert('success');

},

error: function(){

alert('error');

}

});

});

});

这个段代码,在现在基于Restful API架构,前后端严格分离的WEB程序中,是很常见的。
现在有一个问题,那便是调用后,在什么情形下走success方法,在什么情形走error方法?

我们先大略先容下ajax:

大略的说Ajax要求通过XMLHttpRequest工具发送要求,该工具有四个状态(readyState):

0-未初始化、1-正在初始化、2-发送数据、3-正在发送数据、4-完成。

当XMLHttpRequest.readyState为4时,表示ajax要求已经完成可以得到相应结果。

ajax的success和error方法根据相应状态码来触发。
当XMLHttpRequest.status为200的时候,表示相应成功,此时触发success().其他状态码则触发error()。

除了根据相应状态码外,ajax还会不才列情形下走error方法:

1. 返回数据类型不是JSON

2. 网络中断

3. 后台相应中断

知道这个知识点有什么用呢?

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