javascript - 使用Angular调用themoviedb json的分页事件问题
问题描述
我正在使用 themoviedb API 获得 ajax 响应。我想调用我的函数,每次调用该函数时,该函数都会使用不同的页码获取 API 响应。
我已经设法获取数据,并且可以在成功函数中记录正确的 url。但是,调用的 json 不会使用新的页码更新,它始终是页面加载时调用的第一个。我是否缺少一些使用更新后的 url 正确重新初始化 ajax 调用的功能?
这是控制器:
angular.module('MovieApp', [])
.controller("MovieAppCtrl",
[
'$http', '$scope',
function($http, $scope) {
$scope.MovieData = [];
$scope.Search = null;
$scope.Key = '01b2f34add226a588438bf6e49b953d5';
$scope.GetMoviesData = function(number) {
try {
$http({
url: 'https://api.themoviedb.org/3/movie/popular?api_key='+$scope.Key+'&page="'+number+'"',
method: "GET",
}).then(
function(payload) {
$scope.MovieData = payload.data;
console.log($scope.MovieData);
console.log('https://api.themoviedb.org/3/movie/popular?api_key='+$scope.Key+'&page='+number+'');
},
function(){
alert("Something is wrong. Please try again.");
});
} catch (error) {
alert("Exception occured while fetching movie data.");
}
}
}
]);
angular.element(function() {
angular.bootstrap(document, ['MovieApp']);
});
这里,数字代表添加到 url 路径的页码:像这样: https ://api.themoviedb.org/3/movie/popular?api_key=01b2f34add226a588438bf6e49b953d5&page=2
标记:
<div ng-controller='MovieAppCtrl'>
<div class="album">
<div class="container">
<div class="clearfix row">
<a ng-repeat="movie in MovieData.results | limitTo:100" class="video-list col-md-4" target="_blank" ng-href="">
<div class="card mb-4 box-shadow">
<img ng-src="https://image.tmdb.org/t/p/w185_and_h278_bestv2/{{movie.poster_path}}" title="{{movie.title}}" alt="{{movie.title}}" class="card-img-top">
<div class="card-body">
<h5 class="">{{movie.title}}</h5>
<span>Rating: {{movie.vote_average}}</span><br>
<span>Votes: {{movie.vote_count}}</span>
</div>
</div>
</a>
</div>
<div class="pagination check-element m-show-hide ng-hide" ng-show="checked">
<p class="left">You're on page: 1 of 5 <span class="total_results">(100 resultat)</span></p>
<p class="right pagination">
<span ng-click="GetMoviesData(1)">
<span class="page1">1</span>
</span>
<span ng-click="GetMoviesData(2)">
<span class="page2">2</span>
</span>
<span ng-click="GetMoviesData(3)">
<span class="page3">3</span>
</span>
<span ng-click="GetMoviesData(4)">
<span class="page4">4</span>
</span>
<span ng-click="GetMoviesData(5)">
<span class="page5">5</span>
</span>
</p>
</div>
</div>
</div> <!-- album END -->
</div>
这里 GetMoviesData(1) 将页码发送给函数以调用 API 路径的正确页面。
我错过了什么?
解决方案
推荐阅读
- visual-studio - LLVM Visual Studio 集成失败
- angular - 没有 ngOnDestroy,角度取消订阅不起作用
- dart - 新手帮助:系统找不到指定的路径
- python - 在 python 2.7 中使用 modulefinder 来发现 pyd 文件中的依赖项
- r - 当字符串包含无法识别的转义时,R自定义错误消息
- python - 操作数据框,使列总和等于常数
- javascript - 基于同一表行中另一个值的单选按钮选择状态
- gtk3 - Vala GtkButton.Clicked.Connect 不调用函数
- python - 将日期时间数据转换为正确格式 arcpy python arcmap
- java - 在java中打乱一组对象不能正常工作