使用$http.get在angularJS上导入JSON

使用$http.get在angularJS上导入JSON,json,angularjs,Json,Angularjs,我正在学习angularJs,我想从控制器上的json导入一个数组,如下所示: myApp.controller("demoCtrl", function ($scope, $http) { var promise = $http.get("todo.json"); promise.then(function (data) { $scope.todos = data; });

我正在学习angularJs,我想从控制器上的json导入一个数组,如下所示:

myApp.controller("demoCtrl", function ($scope, $http) {

            var promise = $http.get("todo.json");

            promise.then(function (data) {
                $scope.todos = data;
            });


        });
我用一个表格来显示TODO上的数据:

<table class="table">
            <tr>
                <td>Action</td>
                <td>Done</td>
            </tr>
            <tr ng-repeat="item in todos">
                <td>{{item.action}}</td>
                <td>{{item.done}}</td>
            </tr>
        </table>

行动
多恩
{{item.action}
{{item.done}
这将在流动的html页面上显示:


实例
var myApp=angular.module(“demo”,[]);
控制器(“demoCtrl”,函数($scope,$http){
var promise=$http.get(“todo.json”);
promise.then(函数(数据){
$scope.todos=数据;
});
});
做
行动
多恩
{{item.action}
{{item.done}

访问json的正常方式是从http请求返回的对象中的数据获取—您要使用整个返回的对象

我使用“response”作为get请求的返回-然后数据是“response.data”。这是必需的,因为get请求的响应对象中返回了其他属性

试着改变你的承诺如下:

promise.then(function (response) {
   $scope.todos = response.data;
});
此外,您应该在表中使用thead和th以及tbody来显示语义更正确的表

<table class="table">
   <thead>
     <tr>
       <th scope="col">Action</th>
       <th scope="col">Done</th>
      </tr>
   </thead>
   <tbody>
      <tr ng-repeat="item in todos">
          <td>{{item.action}}</td>
          <td>{{item.done}}</td>
       </tr>
    </tbody>
   </table>

行动
多恩
{{item.action}
{{item.done}

承诺返回回调数据中的整个响应在response.Data中

myApp.controller("demoCtrl", function ($scope, $http) {
  var promise = $http.get("todo.json");
  // Entire response in callback
  promise.then(function (response) {
    $scope.todos = response.data; // Data is in response.data
  });
});

更多信息:

控制台(浏览器)是否有错误?“ng应用程序”、“ng控制器”是否存在于html正文中?@Mostav我注意到我忘记了ng应用程序,但我已修复了它,现在只显示空标记扫描。如果可能,请发布整个html和js文件?没有所有必要元素的问题将毫无帮助。@Mostav我编辑了帖子乐于帮助-如果您能将答案标记为已接受,以便其他开发人员知道问题已经解决。快乐编码
myApp.controller("demoCtrl", function ($scope, $http) {
  var promise = $http.get("todo.json");
  // Entire response in callback
  promise.then(function (response) {
    $scope.todos = response.data; // Data is in response.data
  });
});