Reading data from JSON file in Angularjs
37,805
$http.get returns a promise and you're returning an array containing that promise.
Do this instead:
angular
.module('app.services', [])
.factory('Friend', function ($http) {
return {
get: function () {
console.log("inside function");
return $http.get('/api/get.json');
}
};
});
Then use your factory this way:
.angular
.module('app.controllers', ['app.services'])
.controller('yourCtrl', function ($scope, Friend) {
Friend.get().then(function (msg) {
$scope.msg = msg;
});
});
Comments
-
shellakkshellu almost 4 years
Hai i am new in Angularjs. I am trying to read data from JSON file, But it returns a strange output. Here is my controller.js file
angular .module('app') .controller('homeCtrl',function($scope,Friend){ $scope.friends=Friend.get(); console.log("DATA FROM JSON:",$scope.friends); $scope.title="Home"; })
Here is my services.js file
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; }) ] } } })
console output is
DATA FROM JSON: [Object] 0: Object length: 1 __proto__: Array[0
Please help.
-
shellakkshellu almost 10 yearsIt works fine when i change argument msg to msg.data,thanks bro.
-
shellakkshellu over 9 yearsCan you give an answer for this? (stackoverflow.com/questions/25831459/…)