我正在处理个人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,所以我做错了。
谢谢,
标记
答案 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);
}
}