我有这个休息调用,返回一个包含正确数据的数组。我甚至可以将它打印到控制台。
下面的代码片段中显示的ng-repeat看到数组中有数据:
<div class="container wrapper" ng-controller="searchcontroller">
<div class="row">
<div class="center-block col-md-6">
<h2 style="text-align:center;">Zipcode</h2>
<form name="searchForm" ng-submit="callSearchAPI()">
<div class="input-group input-group-lg">
<span class="input-group-addon" id="sizing-addon1"><i class="fa fa-search"></i></span>
<input type="text" class="form-control" placeholder="Ex.: 9000" aria-describedby="sizing-addon1" ng-model="searchzipcode"/>
</div>
</form>
</div>
<div class="center-block col-md-6">
<div ng-repeat="item in searchresults" class="col-md-12">
<p>{{ item.city }}</p>
</div>
</div>
</div>
以上代码段与此控制器结合使用,将为我提供一系列数据:
app.controller('searchcontroller', function ($scope, searchservice, $http, $httpParamSerializerJQLike) {
var headers = { 'Content-Type': 'application/x-www-form-urlencoded' }
$scope.searchzipcode;
$scope.searchresults = [];
$scope.stores;
$scope.callSearchAPI = function () {
$http.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded';
$http({
method: 'POST',
url: '/api/address/zipcode/',
data: "zipcode" + $httpParamSerializerJQLike($scope.searchzipcode)
}).then(function successCallback(data) {
$scope.searchresults = data.data;
$scope.searchzipcode = "";
}, function errorCallback(error) {
console.log(error);
});
}
}
我在HTML中的ng-repeat会给我这个:
为什么不显示数据? 无论我做什么,它都不会显示出来..
答案 0 :(得分:0)
您从api通话中收到的任何项内部似乎没有城市。
答案 1 :(得分:0)
尝试按值复制。
$ scope.searchresults = data.data.slice();
答案 2 :(得分:0)
我看不到你的代码调用callSearchAPI()。
我看到你对你的表格提交了这个电话,但是有人解雇了吗?
答案 3 :(得分:0)
而不是使用&lt; p&gt;标记以显示数据,尝试div标记并查看它是否解决了问题。我认为AngularJS ng-repeat与p标签不友好
答案 4 :(得分:0)
您的ng-repeat需要附带ng-model,以便它可以绑定所选数据。
答案 5 :(得分:0)
我发现了问题所在。该项目正在使用Django模板和Django模板中的模型绑定,您使用{{}}所以Django将网站编译为Django模型绑定而不是角度绑定。
感谢所有出色的答案。很抱歉没有说这是Django项目。