Я пишу простую службу, которая загружает файл и отправляет его на контроллер Spring. Контроллер обрабатывает эти данные и возвращает несколько объектов в формате JSON. Я работаю со следующим сервисом 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")
});
}
} ]);
У меня есть отдельный контроллер в коде, который я хочу использовать для отправки этих данных (имен и адресов) в представление и использовать ng-repeat для отображения информации. Сейчас моя проблема заключается в извлечении данных за пределы этой функции успеха, не говоря уже о самой службе. Я попытался создать глобальную переменную nameandaddresses вне службы, чтобы иметь доступ к ней с другого контроллера, но она отображается как неопределенная.
Из своего исследования я обнаружил, что подходящий способ сделать это — использовать функцию обратного вызова, но мои попытки записать это в службу нарушают базовую функцию. Прежде чем вернуться к изменению дизайна этой службы или пересмотреть свой подход, я хотел опубликовать это и посмотреть, может ли сообщество stackoverflow помочь мне настроить эту службу, чтобы я мог опубликовать этот JSON в представлении в случае успеха.
Кто-нибудь протянет мне руку?