AngularJS — использование сервиса для получения JSON с сервера

#json #angularjs #service

#json #angularjs #Обслуживание

Вопрос:

Я пытаюсь изучить AngularJS и нуждаюсь в некоторой помощи. Я использую версию 1.4.9 и пытаюсь создать сервис, который будет получать JSON с сервера, но я получаю следующую ошибку: «ServiceName не определено»

     <script src="//ajax.googleapis.com/ajax/libs/angularjs/1.4.9/angular.min.js"></script>
  

Вот мой сервис:

     app.service('serviceName', function ($http, $q) {
        var url= "myURL";
            function getData() {
                return $http.get(url);
            }
            return {
                getData: getData,
            }
        }
    );
  

Вот мой контроллер:

     app.controller("myController", function ($scope, $http) {
        serviceName.getData().then(function (response) {
            $scope.myField = response.data;
        });
    });
  

Ответ №1:

Вам нужно внедрить свой сервис в контроллер, например:

     app.controller("myController", function ($scope, serviceName) {
        serviceName.getData().then(function (response) {
            $scope.myField = response.data;
        });
    });
  

И вам это не нужно $http , потому что это используется в сервисе 😉