By using jquery ajax function, I can do something like:
$.ajax({
url: url,
type: \'GET\',
async: true,
dataType: \'json\',
data: data,
success:
We presume the server is sending JSON, and in case of a successful request we'll get something like this:
{
success: true,
data: {
name: 'Foo'
}
}
... and on failure:
{
success: false,
error: 'Something bad happened.'
}
Then we simply filter the response with a $.Deferred:
$.get('http://localhost/api').then(function(res) {
var filter = $.Deferred();
if (res.success) {
filter.resolve(res.data);
} else {
filter.reject(res.error);
}
return filter.promise();
}).done(function(data) {
console.log('Name:', data.name); // Outputs: Foo
}).fail(function(error) {
console.log('Error:', error); // Outputs: Something bad happened.
})