Angularjs Http Get Response Is Undefined But The Data Is Present Inside Success Function
Solution 1:
The reason for getting alert is undefined is because you haven't define $scope.sliders in controller and http request is async so alert($scope.sliders); function call before getting data from response and setting that data to $scope.sliders.
You get alert($scope.sliders); value only after getting success response.
Other possibility is you can set $scope.sliders = {} and then use alert($scope.sliders); which show {} in alert when then function is called alert shows actual response.
Original plunker based on issue
Check comments and updated code in new plunker
Solution 2:
$http is a asynchronous call, so what happens is that you have triggered a http call at line number 6 while it gets the response the line number 10 will be executed since all http calls in angular are asynchronous.
That is why you are getting undefined
If you want to do anything after the response just do the stuff within the http promise ie. within the .then function block like as shown below
getdata.getlist()
.then(function(response){ // http promise block$scope.sliders = response.data;
console.log($scope.sliders);
});

Post a Comment for "Angularjs Http Get Response Is Undefined But The Data Is Present Inside Success Function"