简体   繁体   English

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

[英]Using JSON object from rest service in angularjs

I have a rest service returning JSON with one number 我有一个休息服务返回JSON一个数字

{"uptime":"44"}

available under url: 在网址下提供:

http://localhost/uptime

and I want to display this value on page using angularJS. 我想使用angularJS在页面上显示此值。

I wrote a resource to get data from this 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;
});

But when I use it in Controller: 但是当我在Controller中使用它时:

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


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

all I see on my page is {"uptime":"44"} 我在页面上看到的只是{“正常运行时间”:“44”}

I guess I need to extract/convert received object to JSON and get it 'uptime' property. 我想我需要将接收到的对象提取/转换为JSON并获得它'uptime'属性。 but I tried JSON.parse, time.uptime, time['uptime'] and without success. 但我尝试了JSON.parse,time.uptime,time ['uptime']而没有成功。

I am either doing something completely wrong or missing some basic issue here. 我要么做一些完全错误的事情,要么在这里遗漏一些基本问题。

$resource will just return whatever object is returned by a server, you can't really do any data pre/post processing while using $resource. $resource将返回服务器返回的任何对象,在使用$ resource时,您无法真正执行任何数据前/后处理。 But even without parsing data you should be able to display what you need. 但即使没有解析数据,您也应该能够显示所需内容。 Taking your code example the {{uptime.uptime}} expression in a template should do the trick. 以您的代码示例为例,模板中的{{uptime.uptime}}表达式应该可以解决问题。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM