Использование объекта JSON из службы отдыха в angularjs
У меня есть служба отдыха, возвращающая JSON с одним номером
{"uptime":"44"}
доступно под URL:
http://localhost/uptime
и я хочу отобразить это значение на странице, используя angularJS.
Я написал ресурс для получения данных с этого URL:
angular.module('utilService', ['ngResource']).
factory('UtilService', function($resource) {
var UtilService = $resource('/uptime', { },
{
'get' : { method: 'GET', params: { format: '.json' } , isArray : false }
}
)
UtilService.loadUptime = function(cb) {
return UtilService.get();
}
return UtilService;
});
Но когда я использую его в контроллере:
angular.module('log', ['logService', 'utilService']);
function UptimeCtrl($scope, UtilService) {
var time = UtilService.loadUptime();
$scope.uptime = time;
}
все, что я вижу на своей странице, это {"uptime":"44"}
Я предполагаю, что мне нужно извлечь / преобразовать полученный объект в JSON и получить свойство uptime. но я пробовал JSON.parse, time.uptime, time['uptime'] и безуспешно.
Я либо делаю что-то совершенно не так, либо здесь отсутствует какая-то основная проблема.
1 ответ
$resource
будет просто возвращать любой объект, возвращаемый сервером, вы не можете делать какие-либо данные до / после обработки при использовании $resource. Но даже без разбора данных вы сможете отображать то, что вам нужно. Принимая ваш пример кода {{uptime.uptime}}
Выражение в шаблоне должно сработать.