这是我的第一个 AngularJS 项目。我关注了this website创建一个简单的 html,通过调用 Restful 服务来显示单个记录。其余的工作与 url“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 :
//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 时,没有显示任何内容。我做错了什么?
最佳答案
有几个错误。
您没有加载工厂代码。看起来您只加载了 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()
来实际调用它。
关于javascript - AngularJS 中的 REST 调用不显示记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36321834/