Register now or log in to join your professional community.
The two options are equivalent.
However, the promise-style interface (.fail() and .done()) allow you to separate the code creating the request from the code handling the response.
You can write a function that sends an AJAX request and returns the jqXHR object, and then call that function elsewhere and add a handler.
When combined with the .pipe() function, the promise-style interface can also help reduce nesting when making multiple AJAX calls:
$.ajax(...)
.pipe(function(){
return $.ajax(...);
})
.pipe(function(){
return $.ajax(...);
})
.pipe(function(){
return $.ajax(...);
});