【发布时间】:2015-02-20 22:35:57
【问题描述】:
我要疯了!
我的服务器在一个端点用一些 JSON 响应。是这样的:
[{
key: 'value'
nested: [{
key: 'value'
]}
}]
如果我直接在浏览器中访问该端点,我可以确认我得到了这个结构正确的 JSON 对象(来自 Laravel)。
我的 AngularJS 应用程序可以正常访问它:
$http.get('endpoint').success(function(data){
$scope.datas = data;
});
问题来了:我在 AngularJS 中的对象嵌套数组总是为空,除非我将 JSON 作为单个对象返回,而不是像这样的数组:
{datas: [{
key: 'value'
nested: [{
key: 'value'
]}
}]}
在 AngularJS 中,我现在可以看到嵌套数组。 但请稍等,如果我尝试像
一样访问它ng-repeat(data in datas.datas)
又是空的!。
这里是 Javascript/HTML:
<div ng-repeat="order in orders">
<div ng-repeat="message in order.messages">[[ message.value ]]</div>
</div>
msmService.controller('ordersCtrl', ['$scope', '$http',function($scope, $http){
var refresh = function(){
$http.get('/admin/service/orders').success(function(data){
$scope.orders = data;
});
};
refresh();
});
【问题讨论】:
-
我认为问题在于您如何尝试从后端获取数据。使用 asynch 进行
$http.get调用 - 调用 -> angularjs 中的承诺,只是一个建议 -
你能提供一个jsfiddle吗?
-
所以,你有一个带有对象的数组,看起来你需要
data[0] -
您现在可以发布大量无效的真实 JSON 吗?