AngularJS - 使用服务从服务器获取 JSON

AngularJS - Using a service to get JSON from server

我正在努力学习 AngularJS 并且需要一些帮助。我正在使用 1.4.9 版,我正在尝试创建一个将从服务器获取 JSON 的服务,但我收到以下错误:“serviceName is not defined”

    <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;
        });
    });

您需要将您的服务注入到控制器中,如下所示:

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

而且您不需要 $http,因为它已在服务中使用 ;)