Recuperando dados após o sucesso após o angularjs do controlador separado
Estou escrevendo um serviço simples que carrega um arquivo e o publica em um controlador Spring. O controlador manipula esses dados e retorna vários objetos como JSON. Estou trabalhando com o seguinte serviço Angular:
myApp.service('fileUpload', [ '$http', function($http) {
this.uploadFileToUrl = function(file, uploadUrl) {
var fd = new FormData();
fd.append('file', file);
$http.post(uploadUrl, fd, {
transformRequest : angular.identity,
headers : {
'Content-Type' : undefined
}
})
.success(function(data) {
console.log("upload successful")
//console.log(data)
namesandaddresses = data;
})
.error(function() {
console.log("upload error")
});
}
} ]);
Eu tenho um controlador separado no código que quero usar para postar esses dados (nomes e endereços) na exibição e usar ng-repeat para exibir as informações. Minha luta agora é extrair os dados dessa função de sucesso, sem falar no próprio serviço. Eu tentei criar um var nomes e endereços globais fora do serviço para que eu possa acessá-lo de outro controlador, mas ele aparece indefinido.
Na minha pesquisa, descobri que a maneira apropriada de fazer isso é usar uma função de retorno de chamada, mas minhas tentativas de escrever isso no serviço quebram a função básica. Antes de voltar para redesenhar este serviço ou reconsiderar minha abordagem, eu queria postar isso e ver se a comunidade stackoverflow poderia me ajudar a ajustar esse serviço, para que eu possa postar esse JSON para a exibição com êxito.
Alguém me ajudaria?