Javascript 使用AngularJS ngResponse从API迭代JSON响应

Javascript 使用AngularJS ngResponse从API迭代JSON响应,javascript,json,api,angularjs,Javascript,Json,Api,Angularjs,我正在使用AngularJS调用一个API,该API将返回一个JSON对象,其中包含我需要的数据。我调用API并获取响应并将其打印在HTML上,根据需要进行迭代 但是我还没有找到一种方法来处理实际的Javascript文件,比如迭代来对项目进行分组和求和,或者将JSON的实际值打印到控制台 app.js angular.module('dashboard', ['ngResource']); function DashboardCtrl($scope, $resource) {

我正在使用AngularJS调用一个API,该API将返回一个JSON对象,其中包含我需要的数据。我调用API并获取响应并将其打印在HTML上,根据需要进行迭代

但是我还没有找到一种方法来处理实际的Javascript文件,比如迭代来对项目进行分组和求和,或者将JSON的实际值打印到控制台

app.js

    angular.module('dashboard', ['ngResource']);
    function DashboardCtrl($scope, $resource) {
        $scope.dailyReports = $resource('http://myurl.com/app_dev.php/:action',
            {action:'dailyreports', appid:'@appid', begindate:'@begindate', enddate:'@enddate'});


    $scope.loadData = function() {
            $scope.dailyreportsResults = $scope.dailyReports.get({appid:$('#sel-apps').val(), begindate:$('#fecha-inicial').val(), enddate:$('#fecha-final').val()});
//it works!!!!
        };

$scope.iterate = function() {

            for (i=0; i < $scope.dailyreportsResults.data.length; i++){
                    $scope.periodUnits += $scope.dailyreportsResults.data[i].units;
                    console.log($scope.periodUnits);
                    //It doesnt work :(

            }
    };
我做错了什么


谢谢大家

我不确定您的数据是什么样子的,但也许您应该使用“for in”而不是递增数组

$scope.iterate = function() {
  for (x in $scope.dailyreportsResults.data){
    $scope.periodUnits += $scope.dailyreportsResults.data[x].units;
    console.log($scope.periodUnits);
  }
};
另外,我认为你的ng repeat应该附加到一个元素上

<div ng-repeat="data in dailyreportsResults.data">
   {{data.countryName}}
   {{data.units}}
</div>

{{data.countryName}
{{data.units}

我不确定您的数据是什么样的,但也许您应该使用“for in”而不是递增数组

$scope.iterate = function() {
  for (x in $scope.dailyreportsResults.data){
    $scope.periodUnits += $scope.dailyreportsResults.data[x].units;
    console.log($scope.periodUnits);
  }
};
另外,我认为你的ng repeat应该附加到一个元素上

<div ng-repeat="data in dailyreportsResults.data">
   {{data.countryName}}
   {{data.units}}
</div>

{{data.countryName}
{{data.units}

您正在调用
$scope.iterate
?ng repeat指令将在加载JSON之后工作,但是在接收数据之前调用iterate将导致错误,或者根本没有任何结果!尝试使用$resource回调-
$scope.dailyReports.get({YOURDATA},function(){callback-call iterate()})
我同意,我不知道从哪里调用iterate函数。你能用这个错误为我们创建一个JSFIDLE吗?你什么时候调用
$scope.iterate
?ng repeat指令将在加载JSON之后工作,但是在接收数据之前调用iterate将导致错误,或者根本没有任何结果!尝试使用$resource回调-
$scope.dailyReports.get({YOURDATA},function(){callback-call iterate()})
我同意,我不知道从哪里调用iterate函数。您能为我们创建一个包含此错误的JSFIDLE吗?