【发布时间】:2016-04-26 04:50:47
【问题描述】:
所以我设法让我的脚本通过 $http.get 检索一些 JSON 数据,并以对象形式获取我的 JSON 数据。但是,我无法使用数组中的值。
这是我的 AppCtrl 部分 (AngularJS)
app.controller('AppCtrl', function($scope,$http) {
$scope.data = [];
$scope.submit = function() {
var link = 'http://www.mywebsite.com/api.asp';
$http.get(link).then(function(response) {
$scope.data = response.data;
console.log($scope.data);
});
};
});
这是 HTML 位
<form ng-submit="submit()">
<input class="button button-block button-positive" type="submit" name="submit" value="Submit To Server">
</form>
<div class="card">
<li ng-repeat="userdata in data">
Username : {{userdata.username}}
Age : {{userdata.age}}
</li>
</div>
即使我检索了 json 数据,我也无法检索它。我猜这与我没有正确称呼它有关吗?提前致谢。
更新:console.log($scope.data) 返回
"0 925121 日志 [object Object]"
我尝试在 response.data 上运行 JSON.stringify,我现在得到一个不同的 console.Log 结果和一个新错误。
console.log 将 JSON 信息返回为
{"data":[{"ID":1,"age":"24","username":"hidir"},{"ID":2,"age":"51","username ":"易卜拉欣"}]}
错误如下,表明我在数组中有重复的值,看起来不像。 :
"Error: [ngRepeat:dupes] Duplicates in a repeater are not allowed. Use 'track by' expression to specify unique keys. Repeater: userdata in data, Duplicate key: string:a, Duplicate value: a
http://errors.angularjs.org/1.5.3/ngRepeat/dupes?p0=userdata%20in%20data&p1=string%3Aa&p2=a
"
【问题讨论】:
-
你能提供console.log($scope.data);的输出吗,你在浏览器控制台中得到的。
-
是的,像 Deepesh 一样,我怀疑 data 不是您期望的数组。
-
在代码中 ,为什么要将用户名的值绑定到数组数据?
-
$scope.data = [];为什么这里需要这条线。
标签: javascript angularjs json ionic-framework