【发布时间】:2016-09-06 21:04:03
【问题描述】:
我已经构建了一个应用程序,它使用moviedb 数据库来查询当前电影的列表。我得到一个 JSON 对象作为响应,但需要能够对结果进行分页并请求后续页面(例如 http://api.themoviedb.org/3/movie/now_playing&page=2),其中 &page={{nextPage}} 作为查询参数。
我目前有这个作为我的控制器:
app.controller('CustomerController', function($scope, $http, $timeout, $modal, $log) {
$http.get("http://api.themoviedb.org/3/movie/now_playing")
.success(function(response) {
console.log(response);
$scope.page = response.page;
$scope.results = response.results;
$scope.currentPage = response.page;
$scope.pageSize = response.total_pages;
});
并使用它来显示结果和分页 UI:
<div ng-app="app">
<div ng-controller="CustomerController">
<div class="container">
<div class="row">
<div ng-repeat="items in results">
<a ng-click="open(items)" class="col-lg-3 col-md-3 col-sm-3 col-xs-12 thumbnail">
<img ng-if="items.poster_path" ng-src="http://image.tmdb.org/t/p/w342/{{items.poster_path}}">
<div class="caption" ng-hide="items.poster_path">
<h3>{{items.title}}</h3>
</div>
</a>
</div>
</div>
</div>
<div class="row">
<div class="container"> Page {{currentPage}} of {{pageSize}}
<button class="btn btn-default" ng-disabled="currentPage == 0" ng-click="currentPage=currentPage-1">Previous</button>
<button class="btn btn-default" ng-disabled="currentPage >= pageSize - 1" ng-click="currentPage=currentPage+1">Next</button>
</div>
</div>
</div>
如何创建函数以进行后续 API 调用以获取下一页或上一页结果?我假设它应该从分页按钮设置一个动态参数并将其附加到 API 调用 URL 的末尾,但不确定如何实现。
【问题讨论】:
-
永远不要在公共网站上公开您的 api 密钥。如果我有时间举个例子,我会发布一个小提琴。
-
是的,发布问题后忘记删除它!谢谢。
标签: angularjs json pagination