所以,我已經做的工作對一個待辦事項應用程序內我是個後端API,我知道http://localhost:3000/api/todo/done工作和返回兩個對象,看起來像這樣:如何獲得角應用訪問後端的API
[{ 「_id」:「54d6485357a52fc640bb3814」,「text」:「Hämtatårta」,「completed」:true},{「_ id」:「54d648ae57a52fc640bb3815」,「text」:「Köpadricka till Antons kalas」,「completed」 }]
我現在寫了一個角度的前端第一次嘗試。這一切都在節點運行良好,沒有錯誤,但我沒有得到todo-list div中列出的任何待辦事項。你能提供這方面的建議嗎?
HTML:
<link rel="stylesheet" href="//netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap.min.css">
<script src="//ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script><!-- load jquery -->
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.0.8/angular.min.js"></script><!-- load angular -->
<script src="../javascripts/core.js"></script>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</script>
</head>
<body ng-controller"mainController">
<div class="container">
<!-- HEADER AND TODO COUNT -->
<div class="jumbotron text-center">
<h1>I'm a Todo-aholic <span class="label label-info">{{ todos.length }}</span></h1>
</div>
<!-- TODO LIST -->
<div id="todo-list" class="row">
<div class="col-sm-4 col-sm-offset-4">
<!-- LOOP OVER THE TODOS IN $scope.todos -->
<div class="checkbox" ng-repeat="todo in todos">
<label>
<input type="checkbox" ng-click="deleteTodo(todo._id)"> {{ todo.text }}
</label>
</div>
</div>
</div>
</body>
</html>
ANGULAR CODE:
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);
});
}
我甚至不得到任何東西印在控制檯,我不明白爲什麼...
您應該在角碼上放置一個斷點,並測試$ scope.todos是否獲取值 – 2015-02-08 20:55:01
您在'http.get'中缺少API-Base;你應該檢查你的網絡控制檯,看你的HTTP方法是否返回狀態200 OK。 – Bricktop 2015-02-08 20:59:36