我是 AngularJS 的新手,我尝试使用 AngularJS 异步加载数据。
Json 示例
[{"id":153,"name":"Computer Parts->Cooling Device->CPU Fan"},{"id":30,"name":"Computer Parts->CPU"}]
HTML 代码
var homeApp = angular.module('managementApp',[]);
homeApp.controller('categoryMgmt',function($scope,$http){
$scope.categoryFilter = '';
$scope.categorys = '';
$scope.categoryLoad = function(){
var key = $scope.categoryFilter;
$http({
method : 'get',
url : 'hugo.dev/api/categorys/'+key,
}).then(function mySuccess(response){
$scope.categorys = angular.fromJson(response.data);
console.log($scope.categorys[0].name);
});
};
});
<script src="http://cdn.static.runoob.com/libs/angular.js/1.4.6/angular.min.js"></script>
<div class="panel-body" ng-app="managementApp" ng-controller="categoryMgmt">
<div class="form-group col-md-6">
<label for="category">Category</label>
<input name="categoryName" class="form-control" ng-model="categoryFilter">
<div class="list-group" ng-show="categoryFilter" >
<a ng-repeat="item in categorys" href="#" class="list-group-item">{{ item.name }}</a>
</div>
</div>
<button type="button" ng-click="categoryLoad()">asd</button>
</div>
控制台输出
Computer Parts->Cooling Device->CPU Fan
问题是,ng-repeat工作正常,列表中添加了两个标签,但是{{ item.name }}无法读取任何数据。不知道为什么,结果#SnapShot , 请帮忙!
最佳答案
您发布的代码没有任何问题。正如 Alexander 指出的,您可能不需要 fromJson()
,但这也不应该成为问题。
这是一个使用相同代码的工作插件:https://plnkr.co/edit/GrYZZLjYc9mwCj7dAs5Z?p=preview
我唯一改变的是从文件中提取数据,因为我没有你们的服务:
// url : 'hugo.dev/api/categorys/'+key,
url: 'data.json'
我想这不一定是您问题的答案,但它证明您发布的代码有效......您的问题一定在其他地方。
关于javascript - Angularjs $http获取json数据,但不会显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41767303/