学习如何使用带有JSON的电影数据库连接API。现在我可以调用数据库并返回" poster_path"," original_title"和" release_date"。我发现了很多关于如何挂钩电话的问题,但没有具体告诉我如何获得电影概述。根据提供的文档,我也有点模糊。
我想做的是返回"概述"每部电影。目前,当我执行console.log(json)时,我在数组对象中看不到概述参数。
我想要返回的示例可以在电影页面上 概述 部分的任何电影页Expendables 3上找到。
$(document).ready(function(){
var url = 'http://api.themoviedb.org/3/',
mode = 'search/movie?query=',
input,
movieName,
key = '&api_key=<api_key>';
$('#search').on('click', function() {
var input = $('#term').val(),
movieName = encodeURI(input);
$.ajax({
type: 'GET',
url: url + mode + input + key,
async: false,
jsonpCallback: 'testing',
contentType: 'application/json',
dataType: 'jsonp',
success: function(json) {
jQuery.each(json.results, function (key, val) {
/*playing around with different keywords "overview", "primary_info" and others I randomly inserted and all returned undefined*/
/*console.log(json.results[key].poster_path);
console.log(json.results[key].original_title);
console.log(json.results[key].release_date);*/
console.log(json);
});
},
error: function(e) {
console.log(e.message);
}
}).done(function(){
$('.movieSearch').find("input[type=text]").val("");
});
});
});
非常感谢任何帮助,如果需要更多信息来解决这个问题,很乐意提供。
答案 0 :(得分:1)
感谢帮助人员。我能够在第一个AJAX调用的成功函数中运行第二个AJAX调用。然后我抓住了我需要“概述”的对象的ID,通过url传递了它并获得了正确的概述参数。
$.ajax({
type: 'GET',
url: url + mode + input + key,
async: false,
cache: false,
jsonpCallback: 'testing',
contentType: 'application/json',
dataType: 'jsonp',
success: function(json) {
jQuery.each(json.results, function (key, val) {
console.log(json.results[key].id);
});
console.log(json);
var first = json.results[0].id;
console.log(first);
$.ajax({
type: 'GET',
url: url + 'movie/' + first + '?' + key,
async: false,
cache: false,
jsonpCallback: 'testing',
contentType: 'application/json',
dataType: 'jsonp',
success: function(json) {
console.log(json.overview);
},
error: function(e) {}
}).done();
},
error: function(e) {}
}).done();
再次感谢帮助人员并让我走上正确的道路。
答案 1 :(得分:0)
看起来你正在进行/search/movie?query={phrase}
通话。该调用将返回与查询匹配的电影列表的摘要信息。为列表中的每个电影返回id
值。然后,您可以在后续id
调用中使用/movie/{id}
来获取电影的详细信息。详细信息将包括概述。
答案 2 :(得分:0)
因为没有json.requests。您可以通过点表示法访问json的属性。
success: function(json) {
console.log(json);
console.log(json.poster_path);
console.log(json.production_companies.name);
},