从 Angularjs 中的 JSON 文件读取数据

Posted

技术标签:

【中文标题】从 Angularjs 中的 JSON 文件读取数据【英文标题】:Reading data from JSON file in Angularjs 【发布时间】:2014-10-15 20:59:05 【问题描述】:

嘿,我是 Angularjs 的新手。我正在尝试从 JSON 文件中读取数据,但它返回一个奇怪的输出。 这是我的 controller.js 文件

angular
.module('app')
.controller('homeCtrl',function($scope,Friend)
      $scope.friends=Friend.get();
      console.log("DATA FROM JSON:",$scope.friends);
      $scope.title="Home";       

)

这是我的 services.js 文件

angular
.module('app')
.factory('Friend',function($http)

   return 
    get:function()

            console.log("inside function");
            return [


            $http.get('/api/get.json').then(function(msg)

                return msg.data;    
            )
           ]          
        
   
)

控制台输出是

DATA FROM JSON: 
[Object]
0: Object
length: 1
__proto__: Array[0

请帮忙。

【问题讨论】:

【参考方案1】:

$http.get 返回一个 Promise,而您正在返回一个包含该 Promise 的数组。

改为这样做:

angular
.module('app.services', [])
.factory('Friend', function ($http) 
    return 
        get: function () 
            console.log("inside function");
            return $http.get('/api/get.json');
        
    ;
);

然后这样使用你的工厂:

.angular
.module('app.controllers', ['app.services'])
.controller('yourCtrl', function ($scope, Friend) 
    Friend.get().then(function (msg) 
        $scope.msg = msg;
    );
);

【讨论】:

当我将参数 msg 更改为 msg.data 时它工作正常,谢谢兄弟。 你能回答这个问题吗? (***.com/questions/25831459/…)

以上是关于从 Angularjs 中的 JSON 文件读取数据的主要内容,如果未能解决你的问题,请参考以下文章

angularjs中的$ http.get读取txt文件但无法读取json文件

如何从 json 文件中读取数据,是不是有语法错误?

angularJS怎么修改一个json文件中的数据

如何使用angularjs从json文件中获取数据

如何用angularjs读取本地json

从量角器中的json文件中获取数据