Como retornar uma matriz da função de sucesso do jQuery ajax corretamente? [duplicado]
Esta pergunta já tem uma resposta aqui:
Como faço para retornar a resposta de uma chamada assíncrona? 33 respostasTheObject = {
getArray: function(){
var groups = new Array;
$.ajax({
type: "POST",
url: "link.php",
success: function (data){
var counter = 0;
$('g',data).each(function(){
var group_name = $(this).find("name").text();
var group_id = $(this).find("id").text();
var group = {
id: group_id,
name: group_name
}
groups[counter] = group;
counter++;
});
return groups;
}
});
}
}
E quando tento chamar esse método:
var a = TheObject.getArray();
alert(a);
Retorna 'indefinido'. Não consigo descobrir onde está o problema. A matriz é criada dentro da função de sucesso, mas não consigo devolvê-la corretamente. Obrigado pela ajuda!