在Json Data中调用/选择某个项目

时间:2014-07-03 06:52:38

标签: javascript jquery ajax json api

我正在处理个人jQuery / ajax / json项目,我正在尝试从TMDB API收集数据。我希望人们在哪里搜索某个术语,例如电影“搏击俱乐部”。应该看到的是一部与输入的电影片名相匹配的电影海报。

到目前为止我得到了这个:

$。AJAX({                     类型:“GET”,                     dataType:“jsonp”,                     cache:false,                     网址:“https://api.themoviedb.org/3/search/movie?api_key=257654f35e3dff105574f97fb4b97035&query=fight+club”,                     成功:toonTMDB结果                             //在成功时,运行toonTMDBResults函数                 });

        function toonTMDBresults(tmdbJson) {

                console.log('TMDB:', tmdbJson);
                if ( 1 == 1 ) { // if 1 equals 1, so always run the following code... :)
                    for (var idx in tmdbJson.data) { //loop through the results
                        var results = tmdbJson.data[idx];
                        console.log(results);


                       console.log(results.results[0].id);  //take the ID of the first result in the array


                    }
                } else {
                    console.log('problem with the TMDB request:', json.meta.code);
                }

我想要发生的是我在控制台中看到电影的ID。如果我能够这样做,我将能够从json数据中选择poster_path并在我的html中显示电影海报。

但问题是我没有按照我的要求在控制台中获取ID,所以我做错了。

谢谢,

标记

1 个答案:

答案 0 :(得分:0)

tmdbJson.data不存在。返回的对象是:

TMDB: Object {page: 1, results: Array[10], total_pages: 1, total_results: 10}

你可能意味着迭代tmdbJson.results。这是您的函数的工作版本:

function toonTMDBresults(tmdbJson) {

            console.log('TMDB:', tmdbJson);
            console.log('first id: ', tmdbJson.results[0].id);
            console.log('first poster path: ', tmdbJson.results[0].poster_path);
            if ( 1 == 1 ) { // if 1 equals 1, so always run the following code... :)
                for (var idx in tmdbJson.results) { //loop through the results
                    var results = tmdbJson.results[idx];
                    console.log(results);


                   console.log(results.id);  //take the ID of the first result in the array


                }
            } else {
                console.log('problem with the TMDB request:', json.meta.code);
            }
}