使用Ajax請求我收到以下JSON數據:angularjs JSON解析問題
{
"status" : "success",
"xplist" : [
{ "rank" : "1", "username" : "test1", "xp" : "2500" },
{ "rank" : "2", "username" : "test2", "xp" : "2200" },
{ "rank" : "3", "username" : "test3", "xp" : "1900" }
]
}
在我的控制,我創建空的數據變量
$scope.data = {};
並且json數據分配給它這樣的:
$scope.data.xpresult = data;
然後在我看來,我嘗試使用NG-重複獲得的物品出來:
<li ng-repeat="xp in data.xpresult.xplist">
<div class="listItem">
<div class="left">
<p>{{xp.rank}}</p>
</div>
<div class="middle">
<p style="padding: 8px 46px 0px 0px;margin:0">{{xp.username}}</p>
<p style="margin:0px">{{xp.xp}}</p>
</div>
</div>
</li>
我也嘗試了重複,而不是以下:
data.xpresult.0.xplist
也試過將數據放在一個變量,並再次字符串化結果:
var xpdata = JSON.parse(data);
$scope.data.xpresult = JSON.stringify(xpdata.xplist);
但不幸的是這沒」不管工作。
任何人都可以給我一個指示如何正確地得到這個或我做錯了什麼?
更新
控制器是如下:
angular.module('AndriodApp')
.controller('ExperienceController', function($scope,md5){
$scope.data = {};
$scope.getTop50 = function(uid,uname) {
var token = md5.createHash("test"+uid+uname+"test");
var postdata = { messagetype: "getexperience", userid: uid, securitytoken: token };
$.post("http://127.0.0.1/backend/jiomsg.php",postdata)
.done(function(data) {
alert("Data Loaded: " + data);
$scope.data.xpresult = data;
});
}
$scope.getTop50("1","Gerard");
});
可能是data.xpresult.data.xplist。如果「數據」來自承諾。 – YOU
您的$ http請求在哪裏定義? 您可以向我們展示與$ scope.data.xpresult = data; HTML模板&$範圍分配到相同的Ctrl?你的html似乎很好(大碼) – aorfevre
用控制器更新了我的帖子。 –