Javascript 使用AngularJS ngResponse从API迭代JSON响应
我正在使用AngularJS调用一个API,该API将返回一个JSON对象,其中包含我需要的数据。我调用API并获取响应并将其打印在HTML上,根据需要进行迭代 但是我还没有找到一种方法来处理实际的Javascript文件,比如迭代来对项目进行分组和求和,或者将JSON的实际值打印到控制台 app.jsJavascript 使用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) {
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吗?