Call to jquery ajax - .fail vs. :error
ajax, callback, jquery
Solution
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(...);
});
Problem
Which one should I use? Is there any reason to use one rather than the other? Is one better for error handling? ``` $.ajax({ url: url, data: { start: start, end: end } }).done(function(data, textStatus, jqXHR) { $('#myElement').append(data); }).fail(function() { // report error }); ``` OR ``` $.ajax({ url: url, data: { start: start, end: end }, success: function(data, textStatus, jqXHR) { $('#myElement').append(data); }, error: function(jqXHR, textStatus, errorThrown) { // report error } }); ```