Angularjs 角度响应
下面是来自我的API的json响应。我想在我的html中使用ng repeat,以便向最终用户显示这些数据。在我的控制器中如何去序列化这个json数据Angularjs 角度响应,angularjs,json,parsing,Angularjs,Json,Parsing,下面是来自我的API的json响应。我想在我的html中使用ng repeat,以便向最终用户显示这些数据。在我的控制器中如何去序列化这个json数据 { "message": "Query to return servers", "result": [ { "meta": [ "Computer", "SQLPort", "Domain" ], "rows": [ [
{
"message": "Query to return servers",
"result": [
{
"meta": [
"Computer",
"SQLPort",
"Domain"
],
"rows": [
[
"MyCompterName",
"1433",
"XXXX"
]
]
}
]
}
下面是加载到index.html中的app.js的代码
var app = angular.module('DSCApp', ['ngRoute', 'ngResource','ui.router']);
配置
数据工厂
控制器
在床头和床身上使用ng repeat应该可以工作
<html ng-app='app' ng-controller='DscController'>
<head>
</head>
<body>
<div class="container">
<div class="jumbotron">
<table ng-if="servers" class="table table-bordered">
<thead>
<tr>
<th ng-repeat="head in servers.result[0].meta">{{head}}</th>
</tr>
</thead>
<tbody ng-repeat="r in servers.result">
<tr ng-repeat="row in r.rows">
<td ng-repeat="item in row">{{item}}</td>
</tr>
</tbody>
</table>
<p ng-if="!servers">{{status}}</p>
</div>
</div>
</body>
</html>
{{head}}
{{item}}
{{status}
我已经包括了必要的重复,以准确地处理数据。我假设所有结果的meta都是相同的。您想解析哪些数据?你有没有尝试过搜索做这项工作的库?我想解析“rows”数据,并将其返回到一个格式化的HTML表中。“parse”是一个非常模糊的术语,没有上下文。前端数据库也不是很清晰,听起来相当抽象。请阅读我输入错误的“数据库”一词,我的错误。这里是总体思路。我的API是返回您在上面看到的数据的精确格式。我正在尝试构建一个角度模块来“解析”。。。。反序列化json响应,以便执行ng重复。然而,在我找到的所有示例中,json数据与我给出的不一样。只是需要一些帮助来弄清楚如何使用ng repeat来显示返回的数据…用所有相关的细节来更新问题本身,以便所有人都能轻松阅读。就目前而言,这个问题本身太广泛了,所以这里是我的app.js,我把它加载到index.htmlthe整个前端“东西”对我来说是新事物…我是一名基础设施开发人员/DBA…因此,将数据渲染回客户端是我基本上没有真正处理的事情…这是我第一次尝试此操作OK…尝试了一下…没有按照我的预期渲染…发布了控制器的代码…我知道这是我正在做的事情…再次感谢您的帮助我将代码更新为使用控制器名称和范围变量。还将ng if添加到表中,并将ng if添加到以显示状态消息
app.factory('dataFactory', ['$http', function($http) {
var urlBase = '/api';
var dataFactory = {};
dataFactory.getServers = function () {
return $http.get(urlBase);
};
return dataFactory;
}]);
app.controller('DscController', ['$scope', 'dataFactory',
function ($scope, dataFactory) {
$scope.status
$scope.servers;
getServers();
function getServers() {
dataFactory.getServers()
.success(function (srv) {
$scope.servers = srv;
})
.error(function (error) {
$scope.status = 'Unable to load server data: ' + error.message;
});
}
}]);
<html ng-app='app' ng-controller='DscController'>
<head>
</head>
<body>
<div class="container">
<div class="jumbotron">
<table ng-if="servers" class="table table-bordered">
<thead>
<tr>
<th ng-repeat="head in servers.result[0].meta">{{head}}</th>
</tr>
</thead>
<tbody ng-repeat="r in servers.result">
<tr ng-repeat="row in r.rows">
<td ng-repeat="item in row">{{item}}</td>
</tr>
</tbody>
</table>
<p ng-if="!servers">{{status}}</p>
</div>
</div>
</body>
</html>