Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/419.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/268.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何让angular应用程序访问后端API_Javascript_Angularjs_Node.js - Fatal编程技术网

Javascript 如何让angular应用程序访问后端API

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中运行

因此,我为我正在使用的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:


我甚至没有在控制台上打印任何东西,我不明白为什么…

检查您的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);
  });

}]);