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)
});
2
A
ответ
1
$ scope доступен за пределами зоны вызова. Консоль не должна показывать обновленные данные из-за асинхронного вызова AJAX.
Вы можете попробовать обновить функцию как следующий
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)
});
});
+1
Привет, Никил, спасибо, что он работает 5n –
+0
Хорошо, что это сработало для вас :) – nikhil
Вы не можете, то запрос является асинхронным. Вы пытаетесь зарегистрировать ответ до его возврата с сервера. Читайте: http://stackoverflow.com/questions/14220321/how-to-return-the-response-from-an-asynchronous-call – charlietfl