javascript - Brug af JSON-objekt fra REST-tjeneste i AngularJS
Jeg har en REST-tjeneste, der returnerer JSON med ét tal
{"uptime":"44"}
tilgængelig under url:
http://localhost/uptime
og jeg vil vise denne værdi på siden ved hjælp af AngularJS.
Jeg skrev en ressource for at hente data fra denne REST-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;
});
Men når jeg bruger det i Controller:
angular.module('log', ['logService', 'utilService']);
function UptimeCtrl($scope, UtilService) {
var time = UtilService.loadUptime();
$scope.uptime = time;
}
alt jeg ser på min side er {"uptime":"44"}
Jeg gætter på, at jeg skal udtrække/konvertere det modtagne objekt til JSON og få dets 'uptime'-egenskab. Men jeg har prøvet JSON.parse, time.uptime, time['uptime'] og uden held.
Jeg gør enten noget helt forkert eller overser et grundlæggende problem her.
Svar #1
$resource vil bare returnere det objekt, som returneres af en server, du kan egentlig ikke udføre nogen dataforbehandling eller -efterbehandling, mens du bruger $resource. Men selv uden at analysere dataene, burde du kunne vise, hvad du har brug for. Hvis vi tager dit kodeeksempel, burde {{uptime.uptime}}-udtrykket i en skabelon gøre tricket.