angularJS - 无法将API Json响应数据加载到我的HTML文件中

时间:2016-07-25 17:23:52

标签: javascript jquery html angularjs json

以下是我正在使用的代码:

angular.module('ngApp', [])
.factory('authInterceptor', authInterceptor)
.constant('API', 'http://myserver.com/app/api')
.controller('task', taskData)

function taskData($scope, $http, API) {
  $http.get( API + '/tasks' ).
  success(function(data) {
    $scope.mainTask = data;
    console.log(data);
  });
}

这是我的HTML文件:

<html>

  <head>
    <title>PCC ECAR App</title>

    <link href="../app.css" rel="stylesheet" />
  </head>

  <body ng-app="ngApp" ng-controller="task" class="">

    <div class="view1"> {{mainTask.Amount} </div>

    <!-- Third Party Scripts -->
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.7/angular.min.js"></script>

    <!-- Main App Script -->
    <script src="../app/app.js"></script>

  </body>
</html>

以下是API响应中控制台日志的屏幕截图:

enter image description here

当您转到该页面时,元素view1将显示{{mainTask.Amount}}半秒钟然后消失,将元素留空。我显然做错了什么。为什么我无法将数据加载到HTML中?

2 个答案:

答案 0 :(得分:1)

$scope.mainTask.tasks是一个包含任务数据的数组。您可以在视图中循环显示它:

<ul>
  <li ng-repeat="task in mainTask.tasks">{{task.Amount}}</li>
</ul>

答案 1 :(得分:0)

/Tasks端点正在返回一组任务。你需要这样做:

$scope.mainTask = data.Tasks[0];

或使用ng-repeat循环完成任务:

<div class="view1" ng-repeat="task in mainTask.Tasks"> {{task.Amount}} </div>