Javascript 如何让angular应用程序访问后端API
因此,我为我正在使用的todo应用程序制作了一个后端API,我知道它正在工作,并返回两个对象,如下所示: [{u id:“54d6485357a52fc640bb3814”,“text:“Hämta tårta”,“completed”:true},{u id:“54d648ae57a52fc640bb3815”,“text:“Köpa dricka till Antons kalas”,“completed”:true}] 我现在用angular写了一篇关于前端的第一次尝试。它在node中运行良好,没有错误,但我没有在我的todo list div中列出任何todo。您能就此提供建议吗 HTML:Javascript 如何让angular应用程序访问后端API,javascript,angularjs,node.js,Javascript,Angularjs,Node.js,因此,我为我正在使用的todo应用程序制作了一个后端API,我知道它正在工作,并返回两个对象,如下所示: [{u id:“54d6485357a52fc640bb3814”,“text:“Hämta tårta”,“completed”:true},{u id:“54d648ae57a52fc640bb3815”,“text:“Köpa dricka till Antons kalas”,“completed”:true}] 我现在用angular写了一篇关于前端的第一次尝试。它在node中运行
我甚至没有在控制台上打印任何东西,我不明白为什么…检查您的angular应用程序是否正确连接。我在您的html代码片段中没有看到
ng app
指令,并且ng contoller=“mainController”
中可能有输入错误(=
缺失)。此外,您的控制器未向模块注册(但在这种情况下,它不应该有任何区别)。
这里至少显示了请求数据时的错误消息。希望这有助于解决您的问题在html中尝试这一点(注意ng应用程序atribute)以参考您的模块
<body ng-app="node-todo">
<div class="container" ng-controller="mainController">
希望这能有所帮助。您应该在angular代码上设置一个断点,并测试$scope.todos是否能够获取值您在
http.get中缺少API库;你应该检查你的网络控制台,看看你的HTTP方法是否返回状态为200 OK。我添加了=now,看起来效果更好,至少我现在得到了两个与数据库中TODO数量匹配的复选框。但是我没有收到任何关于待办事项的文字。有什么提示吗?我还看到TODO被添加到范围中。。。似乎是{{todo.text}有问题
var nodeTodo = angular.module('node-todo', []);
function mainController($scope, $http) {
$scope.formData = {};
// when landing on the page, get all todos and show them
$http.get('/api/todo/done')
.success(function(data) {
$scope.todos = data;
console.log(data);
})
.error(function(data) {
console.log('Error: ' + data);
});
}
<body ng-app="node-todo">
<div class="container" ng-controller="mainController">
var nodeTodo = angular.module('node-todo', []);
nodeTodo.controller('mainController',
['$scope', '$http', function($scope, $http){
$scope.formData = {};
// when landing on the page, get all todos and show them
$http.get('/api/todo/done')
.success(function(data) {
$scope.todos = data;
console.log(data);
})
.error(function(data) {
console.log('Error: ' + data);
});
}]);