我正在尝试使用此函数从 JSON 文件获取值:
function getarray(){
$http.get('http://localhost/prebuilt/countries.json')
.success(function(data) {
$scope.countries = data;
});
return data;
}
我需要在同一控制 block 中的另一个函数中使用这些返回值。问题是它不返回任何东西。
我的 Controller 是这样启动的:
angular.module('theme.charts-flot', [])
.controller('FlotChartsController',
['$scope',
'$timeout',
'$http',
'$parse',
function ($scope, $timeout, $http, $parse) {
并且我正在使用模板。这是实时更新的图表的 Controller 。
最佳答案
在 AngularJS 中你不必返回数据。它使用数据绑定(bind),因此只需将数据分配给 $scope.countries 即可,并且其值将被更新。 但是,如果您不使用响应的默认转换,则必须像这样解析 HTTP 响应中的数据:
$scope.countries = JSON.parse(data);
如果你想返回一些东西,你可以随时返回$scope.countries。 数据超出了 success 函数的本地范围,因此在 return 语句中它将是未定义的。
关于javascript - 如何获取 JSON 数组的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26944520/