【发布时间】:2016-05-26 11:12:46
【问题描述】:
我正在尝试通过 name 和 id 显示元素列表,其中 ng-repeat 来自带有超级简单 ajax 请求的 json。
var form = $("#loadAllServiceEngineForm");
var url = form.attr("action");
var App = angular.module('AdamApp', []);
App.controller('locContol', function($scope, $http) {
// Simple GET request
$http.get(url).
success(function(data) {
$scope.locations = angular.fromJson(data);
console.log(data);
}).
error(function(data) {
console.error("NON CARICA I DATI");
});
});
在这个列表中
<body ng-app="AdamApp">
<div ng-controller="locContol">
<ul>
<li ng-repeat="location in locations | orderBy: 'id'">
<div>{{location.name}}-{{location.id}}</div>
</li>
</ul>
</div>
</body>
奇怪的是它返回一个空列表<li>,在控制台中我看到附加的奇怪数组。
这是 console.log 中的完整 json。
我不知道角度,我只是第一次尝试......但我看到了jQuery 之间的区别,即。当我用$.ajax 调用相同的json 然后用JSON.parse(data[i]); 解析时,它会在控制台中显示一个对象的纵坐标列表,而不是这个奇怪的对象数组。
我怎样才能在角度上获得相同的结果?
【问题讨论】:
-
从 jquery 到 angular 时,不要像 jquery 那样思考!我也犯了同样的错误,它对事情有完全不同的看法。使用
.then方法,同时会给你可用的响应数据,你不需要做任何json解析。 -
尝试从 JSON.parse 替换 angular.json ..
-
不要写
$scope.locations = angular.fromJson(data);。然后检查你的控制台 -
我在
console中添加了另一张带有完整json的图片。
标签: angularjs json ajax angularjs-ng-repeat