Javascript 使用TMDb和axios npm的电影搜索网站
我正在尝试使用TMDb和axios npm制作一个电影搜索网站。我做错了什么? 搜索工作正常,但我无法访问电影本身Javascript 使用TMDb和axios npm的电影搜索网站,javascript,html,imdb,Javascript,Html,Imdb,我正在尝试使用TMDb和axios npm制作一个电影搜索网站。我做错了什么? 搜索工作正常,但我无法访问电影本身 $(文档).ready(()=>{ $('searchForm')。on('submit',(e)=>{ 让searchText=$('#searchText').val(); getMovies(搜索文本); e、 预防默认值(); }); }); 函数getMovies(searchText){ axios.get()https://api.themoviedb.org/3/
$(文档).ready(()=>{
$('searchForm')。on('submit',(e)=>{
让searchText=$('#searchText').val();
getMovies(搜索文本);
e、 预防默认值();
});
});
函数getMovies(searchText){
axios.get()https://api.themoviedb.org/3/search/movie?api_key=d80a54a0422d5fff6149c48741c8bece&language=en-US&query='+searchText)
。然后((响应)=>{
控制台日志(响应);
让电影=response.data.Search;
让输出=“”;
$.each(电影,(索引,电影)=>{
输出+=`
${movie.original_title}
`;
});
$('#movies').html(输出);
})
.catch((错误)=>{
控制台日志(err);
});
}
功能选定影片(id){
sessionStorage.setItem('id',id);
window.location='movie.html';
返回false;
}
函数getMovie(){
让id=sessionStorage.getItem('id');
axios.get()https://api.themoviedb.org/3/movie/“+id+”?api_key=d80a54a0422d5fff6149c48741c8bece&language=en-US')
。然后((响应)=>{
控制台日志(响应);
让movie=response.data;
让输出=`
${movie.Title}
- 流派:${movie.genres.Name}
- 发布:${movie.release\u date}
- 评级:${movie.vote\u average}
- 查看:${movie.overview}
情节
${movie.Plot}
`;
$('#movie').html(输出);
})
.catch((错误)=>{
控制台日志(err);
});
}
电影img,
#电影img{
宽度:100%;
}
@介质(最小宽度:960像素){
#电影,col-md-3,嗯{
高度:390px;
}
#电影,col-md-3img{
高度:240px;
}
}
电影资讯
搜索任何电影
这将对您有所帮助,现在它正在工作。有一个很小的bug,我跟你提到过
并且还修复了图像未显示的问题。只需替换
response.data.Search
byresponse.data.results
$(文档).ready(()=>{
$('searchForm')。on('submit',(e)=>{
让searchText=$('#searchText').val();
getMovies(搜索文本);
e、 预防默认值();
});
});
函数getMovies(searchText){
axios.get()https://api.themoviedb.org/3/search/movie?api_key=d80a54a0422d5fff6149c48741c8bece&language=en-US&query='+searchText)
。然后((响应)=>{
控制台日志(响应);
让电影=response.data.results;
让输出=“”;
$.each(电影,(索引,电影)=>{
输出+=`
${movie.original_title}
`;
});
$('#movies').html(输出);
})
.catch((错误)=>{
控制台日志(err);
});
}
功能选定影片(id){
sessionStorage.setItem('id',id);
window.location='movie.html';
返回false;
}
函数getMovie(){
让id=sessionStorage.getItem('id');
axios.get()https://api.themoviedb.org/3/movie/“+id+”?api_key=d80a54a0422d5fff6149c48741c8bece&language=en-US')
。然后((响应)=>{
控制台日志(响应);
让movie=response.data;
让输出=`
${movie.Title}
- 流派:${movie.genres.Name}
- 发布:${movie.release\u date}
- 评级:${movie.vote\u average}
- 查看:${movie.overview}
情节
${movie.Plot}
`;
$('#movie').html(输出);
})
.catch((错误)=>{
控制台日志(err);
});
}
电影img,
#电影img{
宽度:100%;
}
@介质(最小宽度:960像素){
#电影,col-md-3,嗯{
高度:390px;
}
#电影,col-md-3img{
高度:240px;
}
}
电影资讯
搜索任何电影
原因是,像在一个数组中一样,您将获得多个电影,但您的代码只需要一个电影。也许您知道如何使其工作。请帮忙。我在你的代码中发现了错误,只需替换let movies=response.data.Search代码>使用让电影=response.data.results代码>在getMovies
函数中。是的,它可以工作。但是如何观看其他页面呢?第2页(和其他20部电影?)在上面的链接上,第2页开始工作,在第1页上,我们展示了我们从api获得的所有电影。