Я использую AngularJS для создания своего веб-приложения, я всегда использовал контроллеры для запроса HTTP, что упрощает и упрощает для меня.Как использовать службу с запросом Http в Angular JS
Но для лучшей структуры кода и лучшего выполнения для моего приложения я хотел использовать службы вместо контроллеров для использования веб-службы.
Я попытался сделать:
var app = angular.module('ofcservices', []);
app.factory('news', ['$http', function ($http) {
var news={};
news.getnews= function() {
return $http.get('http://int.footballclub.orange.com/ofc/news?offset=0&limit=5');
};
return news;
}]);
и код контроллера:
.controller('news', function($scope, ofcservices) {
$scope.news = ofcservices.getnews();
})
Все, кажется, не так ли?
"Кажется, все в порядке?" - Конечно, просто тестирование это скажет вам об этом? У вас есть причина думать, что это неправильно? – Quentin
$ http is async. Просто проверьте satpals ответ: http://stackoverflow.com/questions/21293235/http-data-from-service-to-controller – nofear87
Вы, кажется, путает с '$ resource' с' $ http.get 'запрос. '$ http.get' возвращает объект, похожий на обещание, который вам нужно будет называть' .then'. '$ resource' позволит вам сделать это, но вам нужно будет включить его в качестве модуля – CodingIntrigue