Chamadas Ajax Async f√°ceis

Use-o sempre que tiver fun√ß√Ķes que precisam aguardar os dados retornados de suas chamadas ajax.

Defina essas fun√ß√Ķes em qualquer namespace de que voc√™ precise para acess√°-las

function sendData(sendObj) {
return jQuery.ajax({
url
: sendObj.url,
dataType
: sendObj.dataType,
data
: sendObj.data,
type
: sendObj.type
//you can define as much or as few ajax settings as you want
});
}

function response(f,success,error) {
//set success function
f
.success(function(returnedData){
success
(returnedData);
});
//set error function
f
.error(function(returnedData){
error
(returnedData);
});
}

Quando voc√™ estiver pronto para chamar o servidor, defina seu sendObj e suas fun√ß√Ķes de resposta:

var sendObj ={};
sendObj
.url = 'example.com/ajax.php';
sendObj
.dataType = 'json';
sendObj
.data = {fruit: 'apple', veggie: 'carrot'};
sendObj
.type = 'POST';

var produceSuccess = function(data){
if(data) {
//It worked! Do stuff with data!
}
}

var produceError = function(data){
if(data) {
//Fail!
}
}

Ent√£o voc√™ chama suas fun√ß√Ķes assim:

callback = sendData(sendObj);
response
(callback,produceSuccess,produceError);

Agora, o que quer que aconte√ßa quando suas chamadas forem conclu√≠das, os dados necess√°rios ser√£o aguardados – n√£o h√° necessidade de redefinir as fun√ß√Ķes ajax todas as vezes!