Я начал кое-что узнавать об AngularJS. Мне удалось создать несколько простых контроллеров, но я хотел бы сделать немного рефакторинга и создать также фабрику.Угловой JS, завод возвращает данные, но в контроллере он ушел
Вот один из моих JS-файлов:
angular
.module('myApp', ['ngResource'])
.factory('UserFactory', ['$http', function ($http) {
return {
getOne: function() {
$http({method: 'GET', url: 'http://localhost:8080/login/login'})
.success(function (data, status, headers, config) {
console.info(data);
return data;
})
.error(function (data, status, headers, config) {
alert("failure");
});
}
}
}])
.controller('UserController', ['$scope', 'UserFactory', function ($scope, UserFactory) {
$scope.user = UserFactory.getOne();
}]);
Программа корректно выводит данные в консоль, полученной из сервлета в этой строке: console.info(data);
Но контроллер ничего не возвращает к просмотру. Я также поставил здесь console.info(UserFactory.getOne())
и печатает undefined
.
Где моя ошибка в кодировке?
Если вы внимательно посмотрите на код, вы увидите, что вы ничего не возвращаете из своей функции getOne. – PSL
Возможный дубликат [Как вернуть ответ от асинхронного вызова?] (Http://stackoverflow.com/questions/14220321/how-to-return-the-response-from-an-asynchronous-call) – MinusFour