AJAX请求的.success()/.done()方法和success回调函数的使用方法相似,都是用于处理请求成功返回后的操作,但两者有些微妙的区别。.success()/.done()在jQuery 1.5版本后推出,是用来简化success回调函数的写法的。具体地说,.success()/.done()是一个Promise对象的方法,用于绑定成功的回调函数。而success回调函数则是在Ajax请求时所传入的选项参数中定义的。下面是一个简单的例子:
//使用.success()方法处理请求成功后的操作
$.ajax({
url: 'example.php',
success: function(data) {
console.log('请求成功!');
}
});
//与上面的方法等价的.success()方法写法
$.ajax({
url: 'example.php'
}).success(function(data) {
console.log('请求成功!');
});
需要注意的是,.success()方法在对请求返回的数据进行处理时,只会接收到成功的结果,而不会接收到失败的结果,因此在进行代码编写时需先判断请求是否成功。
另外需要注意的是,.success()在jQuery 3.0中已经被废弃,应使用.done()方法替代。因此,在使用jQuery 3.0及以上版本时,应将上面的代码中的.success()替换成.done()。