【发布时间】:2019-03-24 22:07:25
【问题描述】:
我制作了一个小网页,要求用户输入演员的姓名,然后我希望显示该演员出演过的所有电影。对于我的问题,我已经硬编码了 api URL 的演员(布拉德利·库珀)。
如何获取所有电影片名、发行年份、电影概述和电影海报价值并将它们全部显示在页面上?现在,我只能显示一部电影,并且由于某种奇怪的原因,它不是 json 文件中提到的第一部电影。
我认为我需要将 json 数据放入一个数组中,但我不知道该怎么做,也不知道如何在页面上显示多个结果。
感谢您提供的任何帮助和指导。
<!DOCTYPE html>
<html>
<body>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<body onload="search_actor()">
<script>
function search_actor() {
$.getJSON({
url: 'https://api.themoviedb.org/3/person/51329/movie_credits?api_key=f1d314280284e94ff7d1feeed7d44fdf',
dataType: 'json',
type: 'get',
cache: false,
success: function(data) {
$(data.cast).each(function(index, moviedata) {
// Movie Title
document.getElementById("movietitle").innerHTML = moviedata.title;
// Release Year
document.getElementById("releaseyear").innerHTML = moviedata.release_date.substr(0, 4);
// Movie Overview
document.getElementById("movieoverview").innerHTML = moviedata.overview;
// Movie Poster
var fullmovieposterpath = '<img src=https://image.tmdb.org/t/p/w500/' + moviedata.poster_path + ' width="20%" height="20%">';
document.getElementById("displaymovieposter").innerHTML = fullmovieposterpath;
});
}
});
}
</script>
<div id="movietitle"></div>
<div id="releaseyear"></div>
<div id="movieoverview"></div>
<div id="displaymovieposter"></div>
</body>
</html>
【问题讨论】:
-
我想您正在播放最后部电影,而不是第一部电影。您只是循环遍历结果并将元素设置为当前迭代,因此您看到的结果只是它设置为最后的结果 - 循环的最后一次迭代。您需要为每个结果创建 new 元素,而不是重复更改相同的元素。此外,您还有两个
<body>标签。 -
@TylerRoper 很好,为什么不回答这个问题?
标签: javascript json