我正在尝试创建一个基本网页,以显示http://rest-service.guides.spring.io/greeting检索到的数据。

json输出为:

{"id":2273,"content":"Hello, World!"}


我正在使用以下html页面:

<body ng-app="hello">
    <div class="container">
        <h1>Greeting</h1>
        <div ng-controller="home" ng-cloak class="ng-cloak">
            <p>The Id is: {{greeting.id}}</p>
            <p>The content is: {{greeting.content}}</p>
        </div>
    </div>
    <script src="js/angular-bootstrap.js" type="text/javascript"></script>
    <script src="js/hello.js"></script>
</body>


和hello.js:

var myApp = angular.module('hello', []);

myApp.controller('home', ['$scope', function($scope) {
    $scope.greeting = {};

    $http.get('http://rest-service.guides.spring.io/greeting')
        .success(function(data, status, headers, config) {
            $scope.greeting = data;
        });
}]);


结果:占位符greeting.id/content无法解析。这里可能出什么问题了?

最佳答案

您没有注入$http服务。

myApp.controller('home', ['$scope, $http', function($scope, $http) {...}]);


编辑

值得一提的是,在他的answer中说到了那个verb子。在Angular 1.4中,应将.success()替换为.then(),因为已弃用.success

现在的用法应该是:

$http.get(url).then(
  function(data){
     //success callback
  },
  function(){
     //error callback
  });
);

10-06 00:17