以下两个ajax来电之间有区别吗?
$.ajax({
type: 'POST',
url: someApiUrl,
contentType: 'application/json; charset=utf-8',
data: someData
}).success(function (payload, status, xhr) {
//success code
});
$.ajax({
type: 'POST',
url: someApiUrl,
contentType: 'application/json; charset=utf-8',
data: someData,
success: function (payload, status, xhr) {
//success code
}
});
如果是这样,每个人有哪些优点/缺点?
如果有更好的方法来提出这个问题,可以获得积分。也许这些技术有名字?
答案 0 :(得分:4)
如上所述,它们完全相同。通过小的改动,第一个可以优于第二个。即:
var $eventualResult = $.ajax({
type: 'POST',
url: someApiUrl,
contentType: 'application/json; charset=utf-8',
data: someData
});
现在结果是值,您可以传递它,从函数返回它,在不同的上下文中使用它:
$eventualResult.then(function (result) { /* uses the result */ });
// meanwhile, elsewhere in the codebase...
$eventualResult.then(function (result) { /* do something else */ });
使用$.ajax
构造函数的回调参数没有此属性。
答案 1 :(得分:1)
第一个实例化AJAX调用,然后向其附加成功事件
第二个显示成功回调方法作为AJAX调用的构造函数
的参数第二个是优越的(在我看来)因为阅读它的开发者的意图更清楚