使用附带的http帖子,我应该回到下面的JSON对象。我想在下面的JSON中获取LeagueDictionary数据并创建一个对象,这样我就可以在我的客户端的每个循环中使用它,但我无法理解如何在http调用中构造该代码。
{
"Id": 0,
"UserName": null,
"NickName": null,
"Email": "email@company.com",
"Password": null,
"Admin": false,
"Validated": false,
"Key": "oOE0QbOhjK17pNeKDPEFti5On27R3b",
"LeagueDictionary": {
"1": "League #1",
"2": "League #2"
}
}
使用此电话:
$scope.getLeagues = function() {
$http({
method: 'POST',
url: 'http://xxxxxxxxxxxxxxxxxx',
data: ???,
})
}
如果有人给我一个关于如何绑定JSON特定部分的数据的推动,我很感激帮助。我不确定如何剥离LeagueDictionary部分并从中创建一个对象。
答案 0 :(得分:0)
您只需访问响应的LeagueDictionary
属性,然后在ng-repeat
中迭代该属性即可。显然,我并不确切知道你的示波器是什么样的,但这应该让你开始:
//JS
$http.post('/someUrl', { 'foo': 'bar' }).success(function(data) {
myController.myModel.leagueDictionary = data.LeagueDictionary;
});
//HTML
<tr ng-repeat="(leagueNum, leagueName) in leagueDictionary">
答案 1 :(得分:0)
您可以设置一个获取数据的服务,这样您就可以从控制器中获取$http
等内容。说...
app.factory('DataService', function ($http) {
return {
get: function () {
return $http.get('data.json'); // post & url goes here
}
};
});
在您的控制器中,使用then
在promise
解析后访问响应数据(catch()和finally()也可用)。
app.controller('MainCtrl', function ($scope, DataService) {
DataService.get().then(function (response) {
$scope.leagueDictionary = response.data.LeagueDictionary;
});
});
相关的HTML模板将是
<body ng-controller="MainCtrl">
<div ng-show="leagueDictionary">
<span ng-repeat="(key,val) in leagueDictionary">
{{ val }} <br>
</span>
</div>
</body>
使用您提供的数据
<小时/> 请参阅示例plunker http://plnkr.co/edit/j6bmmQ