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

Posted

技术标签:

【中文标题】在angularjs中使用来自rest服务的JSON对象【英文标题】:Using JSON object from rest service in angularjs 【发布时间】:2012-10-08 04:11:30 【问题描述】:

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

"uptime":"44"

在网址下可用:

http://localhost/uptime

我想使用 angularJS 在页面上显示这个值。

我写了一个资源来从这个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;
);

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

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


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

我在页面上看到的只是 "uptime":"44"

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

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

【问题讨论】:

【参考方案1】:

$resource 只会返回服务器返回的任何对象,在使用 $resource 时,您实际上无法进行任何数据预处理/后处理。但即使不解析数据,您也应该能够显示您需要的内容。以您的代码示例为例,模板中的 uptime.uptime 表达式应该可以解决问题。

【讨论】:

天哪,有时最简单的解决方案也能奏效。非常感谢!

以上是关于在angularjs中使用来自rest服务的JSON对象的主要内容,如果未能解决你的问题,请参考以下文章

如何在 AngularJS 中处理来自 REST Api 的日期字段?

如何验证与服务器的连接来自具有 Ionic/AngularJS/Cordova 的应用程序?

使用 AngularJs 调用 WCF REST 服务给出错误

如何使用 AngularJS 和 Restangular 返回/编辑 REST 资源

如何使用 AngularJS 和 Restangular 返回/编辑 REST 资源

为啥 AngularJS 应用程序不能在不同的服务器上使用 REST 服务?