如何输入搜索查询以从JSON数据中获取所需的图像?

时间:2017-06-07 13:16:27

标签: javascript json themoviedb-api

我正在使用TMDB API构建一个Web应用程序,当我输入任何电影名称时,它应该显示所需电影的海报。我没有得到如何搜索所需的电影并获得海报的URL。链接 - > https://developers.themoviedb.org/3/movies/get-movie-imageshttps://developers.themoviedb.org/3/configuration/get-api-configuration

我的代码:

<html>
<head>
    <title>Test app</title>
    <style type="text/css">
        #fetch{
            position: absolute;
            text-align: center;
            left: 450px;
            top: 35px;
        }
    </style>
</head>
<body>

<form name="fetch-movie-title" id="fetch">
     <input type="text" placeholder="Enter a movie title" id="term" />
     <input type="submit" onclick="showdata()" id="search" value="Find me a poster" />
</form>

<script type="text/javascript">

function showdata() {
    var film = document.getElementById('term').value;
    console.log(film);
}

    var requestURL = "https://api.themoviedb.org/3/movie/9340/images?api_key=my-api-key";

    var request = new XMLHttpRequest();

    request.open('GET', requestURL);

    request.responseType = 'json';

    request.send();

    request.onload = function(){
        var myjsondata = request.response; //request.response contains all our JSON data 

        console.log(myjsondata);
        var str = "<img src = 'https://image.tmdb.org/t/p/w500"+ myjsondata.posters[2].file_path +"'/>";
        console.log(str);
        document.write(str);
    } 

</script>
</body>
</html>

1 个答案:

答案 0 :(得分:1)

我无法测试它,因为让他们的API密钥需要太多麻烦,但我想你需要的是search call

for(i=5;i<=500;i++) {
    x.add(i);
    check(x,i);
}

public static void check(ArrayList<Integer> x,Integer i){
    for(int j=0;j<x.size();j++){                                
        for(int k=0;k<x.size();k++){
            if(x.get(j)!=i&& x.get(k)!=i){
                if(x.contains(x.get(k)+x.get(j)))
                    x.remove(Integer.valueOf(i));
            }
        }
    }
}

查看此链接 - &gt; https://developers.themoviedb.org/3/search/search-movies然后点击尝试使用您的api-key和搜索查询。