我是JQuery新手。我找到了$.ajax()方法来进行ajax请求。这里我们增加了成功和失败的方法。但是JQuery如何在内部发现服务器的响应是成功还是失败,并调用相应的方法呢?
如果AJAX请求返回除200
之外的任何HTTP状态码,或者数据没有正确解析,则基本上是失败的。
在成功回调中,你需要处理数据,看看它是否"成功",就你的API调用而言。
例如,如果您发送一个AJAX请求来注册一个新用户,您可能会发送如下内容:
$.ajax({
url: 'user/register',
data: {user:'username'},
success: function(data, textStatus, jqXHR) { },
error: function(jqXHR, textStatus, errorThrown) { }
});
如果响应的状态为200
,则会触发success
回调,无论服务器尝试注册用户是否成功。
决定成败的主要因素有两个。
- HTTP状态码
- 接收到的数据是否能够被解析(json, xml等)
查看他们网站上的ajax事件,或者在他们的github页面上查看ajax代码,了解更多细节。