angular.module('finalApp').controller('WarningsCtrl', function ($scope,HttpService) {
HttpService.get('/warings/snowstrome').error(function(data){
data={
values:[
{
wariningtype:'snowstrome',
warningtitle: 'Severe Snowstrom Warning',
agentid: 100,
name: 'Otaru-Shi',
location:'Hokkaido',
timezone: 'Feb 16,4:35pm Jst',
zip:'0470028, 0470035, 0470154',
weatherstatus:'Snow, Ice and Low Temperature Expected',
weatheralerts:'Automated Alert Sent to 45 Customers',
affectedcustomers:'Affected Customers HR:20, MR:20, LR:20'
}
]
};
$scope.liveCards=data;
});
console.log($scope.liveCards)
});
-
You can't, the request is asynchronous. You are trying to log the response before it has been returned from server. Read: stackoverflow.com/questions/14220321/…charlietfl– charlietfl2015-07-17 19:30:25 +00:00Commented Jul 17, 2015 at 19:30
Add a comment
|
1 Answer
$scope is accessible outside the get call. The console must not be showing updated data due to asynchronous nature of AJAX calls.
You can try updating function like following
angular.module('finalApp').controller('WarningsCtrl', function ($scope,HttpService) {
var getSnowStromeWarning = function(callback) {
HttpService.get('/warings/snowstrome').error(function(data){
data={
...
};
$scope.liveCards=data;
callback();
});
}
getSnowStromeWarning(function(){
console.log($scope.liveCards)
});
});