AngularJS中的REST调用不显示记录

时间:2016-03-30 23:54:08

标签: javascript angularjs rest

这是我的第一个AngularJS项目。我跟着this website创建了一个简单的html来通过调用restful services来显示单个记录。其余的工作与网址" http://localhost:8080/api/seqs/fdebfd6e-d046-4192-8b97-ac9f65dc2009"。 enter image description here

这是我的HTML:

<html ng-app="cgApp" ng-controller="CgseqCtrl">
  <head>
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.5/angular.min.js"></script>
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.5/angular-resource.js"></script>
    <script src="../js/controller.js"></script>
  </head>
  <body>
    <div>
        <hr>
            <h2>{{seq.analysisId}}</h2>
            <h2>{{seq.library}}</h2>
        </hr>
    </div>

  </body>
</html>

我在服务js

中定义了资源
//service.js
angular.module('cgApp', ['ngResource'])
.factory('CgseqService', function ($resource) {
        return $resource('http://localhost:8080/api/seqs/fdebfd6e-d046-4192-8b97-ac9f65dc2009',
            {get: {method: 'GET'}
        });
});

控制器:

//controller.js
angular.module('cgApp', ['ngResource'])
.controller('CgseqCtrl', ['CgseqService', '$scope', function (CgseqService, $scope)
{
    $scope.getSeq = function(response) {
        CgseqService.get(function(data) {
            $scope.seq = data;
        });
    };
}]);

当我使用Node.js启动我的http服务器并在浏览器中键入url时,不会显示任何内容。我做错了什么?

1 个答案:

答案 0 :(得分:1)

有几个错误。

您没有加载工厂代码。看起来您只加载了controller.js(我假设您的工厂代码位于不同的文件中,因为在您的示例中,您将其评为//service.js):

  <head>
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.5/angular.min.js"></script>
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.5/angular-resource.js"></script>
    <script src="../js/controller.js"></script>
  </head>

np-controller应该说ng-controller

<html ng-app="cgApp" np-controller="CgseqCtrl">

您也从未调用过$scope.getSeq函数:

$scope.getSeq = function(response) {
    CgseqService.get(function(data) {
        $scope.seq = data;
    });
};

你应该在某处调用$scope.getSeq()来实际调用它。