javascript - 如何获取 JSON 数组的值?

标签 javascript json angularjs return

我正在尝试使用此函数从 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/

相关文章:

javascript - Google 标记管理器未定义

arrays - postgres 将 json 数组转换为列

javascript - 获取 $http 调用的完整调用堆栈跟踪

AngularJs $http 获取请求 - 如何显示进度条?

JavaScript 检查 HTML 源代码

javascript - 出现错误 404 后,我的流停止在 RxJs 中工作

javascript - 在页面加载时打开模态

java - 如何将多列与其他列一起以 JSON 形式返回

javascript - 在 Laravel 中将 JSON 从 Controller 传输到 AngularJS

angularjs - 根据模型数据有条件地更改img src