javascript - 获取某些json值并显示在html页面上
问题描述
我制作了一个小网页,要求用户输入演员的姓名,然后我希望显示该演员出演过的所有电影。对于我的问题,我已经硬编码了演员的 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>
解决方案
在您的代码中,您只有一个容器来显示电影项目。您需要循环响应并动态创建电影卡。还使用 css 网格系统来更好地控制电影卡及其位置。
$.getJSON({
url: 'https://api.themoviedb.org/3/person/51329/movie_credits?api_key=f1d314280284e94ff7d1feeed7d44fdf',
dataType: 'json',
type: 'get',
cache: false,
success: function (data) {
console.log(data)
let k = '';
data.cast.forEach(function (item) {
//Using template literal to create a movie card
k += `<div class='movie-card'>
<div>${item.original_title}</div>
<div><img src = 'https://image.tmdb.org/t/p/w500/${item.poster_path}'></div>
<div><span>${item.release_date}</span></div>
<div class='movie-desc'>${item.overview}</div>
</div>`
})
$('.movie-conatiner').append(k)
}
});
在stackblitz上查看完整的工作副本
推荐阅读
- html - 如何使用 BeautifulSoup 提取网页“关于我们”下的文本
- import - Vue2 - 导入类、访问和实例化
- reactjs - 如何将动态创建的选项标记为选项列表中使用的选项
- spring-boot - Mvn 包装“JAR”不适用于 spring-boot-starter-batch
- css - MVC Bootstrap 4:.col-md-2 错误渲染 - _grid-framework.scss 出现两次
- python-3.x - 如何矢量化文件路径数组的文件读取?
- javascript - 谷歌云功能无法捕获发布请求
- error-handling - 如何在 Rust 中将 glob::GlobError 变成 io::Error?
- memory - julia:@timev 分配的字节的不同值
- amazon-web-services - 如何修复circleci中的“无法准备上下文:无法评估Dockerfile路径中的符号链接”错误