我已经看到很多方法可以做到这一点,但大多数都很老了,我想确保我正确地做到这一点。现在,我使用的方式不起作用,我觉得我错过了什么。
我正在让JSON恢复正常,我只需要在单击按钮后将其显示在表格中。
这是JSON。这就是我要从服务器上获取它的方法,我不能添加任何“var JSON =”或者向数据中添加任何范围如“$ scope.carrier”,除非有一种方法可以在我之后添加它我们获取了数据。
{
"carrier":
[
{
"entity": "carrier",
"id": 1,
"parentEntity": "ORMS",
"value": "Medica"
}, {
"entity": "carrier",
"id": 2,
"parentEntity": "ORMS",
"value": "UHG"
}, {
"entity": "carrier",
"id": 3,
"parentEntity": "ORMS",
"value": "Optum"
}, {
"entity": "carrier",
"id": 4,
"parentEntity": "ORMS",
"value": "Insight"
}, {
"entity": "carrier",
"id": 5,
"parentEntity": "ORMS",
"value": "Insight"
}
]
}
这是用于恢复JSON数据的app.js文件:
var app = angular.module('myTestApp', []);
app.controller('myController', ['$scope', '$http', function($scope, $http) {
var url = 'test.json';
$scope.clickButton = function() {
$http.get(url).success(function(data) {
console.log(data);
});
}
}]);
当然还有HTML:
<div class="col-lg-12 text-center">
<button type=button class="btn btn-primary load" ng-click="clickButton()">Click!</button>
<table class="">
<tbody ng-repeat="carrier in carriers">
<tr>
<td>
<h3 class="">{{ module.entity }}</h3>
<h3 class="">{{ module.id }}</h3>
<h3 class="">{{ module.parentEntity }}</h3>
<h3 class="">{{ module.value }}</h3>
</td>
</tr>
</tbody>
</table>
</div>
我也想知道我是否可以使用ng-grid将其放入表中。我知道他们只是将它升级到ui网格,所以我不确定这是否仍然是一种可行的方法。
另外,我没有收到错误,数据现在不会显示在表格中。我所知道的是它正确地返回数据,而不是在表格中显示。
感谢任何帮助。
答案 0 :(得分:1)
您永远不会将返回数组的值赋给$scope.carriers
。
在您说console.log(data);
的行中添加以下内容:
$scope.carriers = data.data;
这是更新的clickButton
函数(更改名称变量以减少混淆):
$scope.clickButton = function() {
$http.get(url).success(function(returnValue) {
$scope.carriers = returnValue.data;
});
};
答案 1 :(得分:1)
我看着你的傻瓜好像你需要:
看看这个固定的羽毛球:
http://plnkr.co/edit/TAjnUCMOBxQTC6lNJL8j?p=preview
$scope.clickButton = function() {
$http.get(url).success(function(returnValue) {
alert(JSON.stringify(returnValue.carrier));
$scope.carriers = returnValue.carrier;
});
}