在angularjs中使用来自rest服务的JSON对象

时间:2012-10-17 19:45:12

标签: javascript json rest angularjs

我有一个休息服务,返回带有一个数字的JSON

{"uptime":"44"}

在网址下提供:

http://localhost/uptime

我希望使用angularJS在页面上显示此值。

我写了一个资源来从这个休息网址获取数据:

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;
});

但是当我在Controller中使用它时:

angular.module('log', ['logService', 'utilService']);


function UptimeCtrl($scope, UtilService) {
    var time = UtilService.loadUptime();
    $scope.uptime = time;
}

我在页面上看到的只是{"正常运行时间":" 44"}

我想我需要将收到的对象提取/转换为JSON并获得它的正常运行时间'属性。但我尝试了JSON.parse,time.uptime,时间['正常运行时间']而没有成功。

我要么做一些完全错误的事情,要么在这里遗漏一些基本问题。

1 个答案:

答案 0 :(得分:8)

$resource将返回服务器返回的任何对象,在使用$ resource时,您无法真正执行任何数据前/后处理。但即使没有解析数据,您也应该能够显示所需内容。以您的代码示例为例,模板中的{{uptime.uptime}}表达式应该可以解决问题。