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.