如何获取JSON数组的值?

时间:2014-11-15 09:41:25

标签: javascript json angularjs return

我正在尝试使用此函数从JSON文件中获取值:

function getarray(){
  $http.get('http://localhost/prebuilt/countries.json')
  .success(function(data) {
    $scope.countries = data;
  });
  return data;
} 

我需要在同一个控制块中的另一个函数中使用这些返回值。问题是它没有返回任何东西。

我的控制器就像这样开始:

angular.module('theme.charts-flot', [])
       .controller('FlotChartsController', 
                   ['$scope', 
                    '$timeout', 
                    '$http',
                    '$parse',
                    function ($scope, $timeout, $http, $parse) {

并且我使用模板。这是正在实时更新的图表控制器。

1 个答案:

答案 0 :(得分:1)

在AngularJS中,您不必返回数据。它使用数据绑定,因此将数据分配给$ scope.countries就足够了,并且它的值将被更新。 但是,如果您没有使用响应的默认转换,则必须像这样解析HTTP响应中的数据:

$scope.countries = JSON.parse(data);

如果你想返回一些东西,你总是可以返回$ scope.countries。 数据超出了成功函数的本地范围,因此它将在return语句中未定义。