Javascript 这两个jQueryAjax调用之间的主要功能区别是什么?
我见过这两种ajax调用,它们之间的主要功能区别是什么Javascript 这两个jQueryAjax调用之间的主要功能区别是什么?,javascript,jquery,ajax,Javascript,Jquery,Ajax,我见过这两种ajax调用,它们之间的主要功能区别是什么 $.ajax({ url: '', type: 'post', data: {}, success: function (data) { alert(data); } }); 及 第一个方法向ajax方法添加一个成功回调 第二个将成功回调添加到promise接口,该接口返回$.ajax 实际上,我不认为在延迟对象上有成功方法,$.ajax返回(可能在旧版本中有遗留),它应该根据以下规
$.ajax({
url: '',
type: 'post',
data: {},
success: function (data) {
alert(data);
}
});
及
第一个方法向ajax方法添加一个成功回调 第二个将成功回调添加到promise接口,该接口返回
$.ajax
实际上,我不认为在延迟对象上有成功
方法,$.ajax
返回(可能在旧版本中有遗留),它应该根据以下规则完成:
这两个片段之间没有区别。即使您在内部使用选项属性success
,它也会被添加到ajax请求的承诺回调列表中
如果您查看附加的图像,您可以看到传递给success
、error
和complete
的值被传递回jqXHR对象的回调方法第一个是ok,第二个是ok,但不推荐使用,使用.done()callback代替headPromise接口公开success方法,但不推荐使用它作为旁注,ajax()不会返回延迟对象,而是像您首先声明的那样返回承诺接口。区别在于promise接口是只读的,您无法解析/拒绝itI,因为从调用堆栈中看不出这两个接口之间有任何区别,因为它们似乎都在使用延迟框架。看看
$.ajax({
url: '',
type: 'post',
data: {}
}).success( function (data) {
alert(data);
});
$.ajax({
url: '',
type: 'post',
data: {}
}).done( function (data) {
alert(data);
});