jQuery AJAX handling - old and new way
by kanelbula
JavaScript
/*
Old way
- services have to worry about calling back
- handling failures becomes a hassle
- messy and hard to manage
*/
function goGetItOld( successCallback, failureCallback ) {
$.ajax({
url: "/echo/json/",
success: function( data ) {
successCallback( data );
},
error: function( data ) {
failureCallback( data );
}
});
}
goGetItOld( function( data ) {
// handle success data
}, function( data ) {
// handle failure data
});
/*
New way
Use Deferred object that:
- manages our callbacks
- handles successes and failures
- can be passed around
- has a consistent api
*/
function goGetItNew() {
return $.ajax({
url: "/echo/json/"
});
}
goGetItNew().done(function( data ) {
// handle success data
}).fail(function( data ) {
// handle failure data
});