这两个jQuery ajax调用之间的主要功能区别是什么?

时间:2013-12-18 11:50:41

标签: javascript jquery ajax

我见过这两种ajax调用,它们之间的主要功能区别是什么?

$.ajax({
    url: '',
    type: 'post',
    data: {},
    success: function (data) {
        alert(data);
    }
});

$.ajax({
    url: '',
    type: 'post',
    data: {}
}).success( function (data) {
    alert(data);
});

2 个答案:

答案 0 :(得分:2)

第一个为ajax方法添加成功回调。

第二个为$.ajax返回的 promise 接口添加成功回调。

我实际上认为success返回的延迟对象上没有$.ajax方法(可能旧版本中有遗留),它应该是donedocs

$.ajax({
    url: '',
    type: 'post',
    data: {}
}).done( function (data) {
    alert(data);
});

答案 1 :(得分:0)

这2个片段之间没有区别。即使您在内部使用选项属性success,它也会被添加到ajax请求的promise回调列表中。

enter image description here

如果您查看附加图像,您会看到传递给successerrorcomplete的值被传递回jqXHR对象的回调方法