这是我的第一个AngularJS项目。我跟着this website创建了一个简单的html来通过调用restful services来显示单个记录。其余的工作与网址" http://localhost:8080/api/seqs/fdebfd6e-d046-4192-8b97-ac9f65dc2009"。
这是我的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时,不会显示任何内容。我做错了什么?
答案 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()
来实际调用它。