我正在尝试运行我要从电影数据库中搜索电影标题的脚本。我在控制台中得到结果,没有错误。但是在我的renderMovies
函数中它应该在我的变量中存储API电影标题,情节等,但是当我在列表中打印它时,它或者给我什么(空白)或{{1} }。我是jQuery,AJAX和API的新手,因此我遵循指南,因此代码并非完全由我编写。
OBS:使用此undefined
时未定义,但使用$("<td>" + plot + "</td>")
时为空。您可以在renderMovies函数的中间找到该代码。
例如:我搜索电影&#39;阿凡达&#39;我得到两个结果。然而,这两个结果得到了存储&#34;在情节描述中为$("<td>").append(title)
,在标题中为空白。
undefined
答案 0 :(得分:1)
我已重新排序您的函数和调用,因为某些变量未定义。 (谷歌浏览器 - &gt; F12(打开开发者控制台))
这会在按钮单击时返回响应。
$(document).ready(function () {
function searchMovie() {
var movieTitle = $("#movieTitle");
var title = movieTitle.val();
$.ajax({
url: "http://www.myapifilms.com/imdb/idIMDB?title=" + title + "&token=b81c6057-20cf-4849-abc4-decbf9b65286&format=json&language=en-us&aka=0&business=0&seasons=0&seasonYear=0&technical=0&filter=2&exactFilter=0&limit=1&forceYear=0&trailers=0&movieTrivia=0&awards=0&moviePhotos=0&movieVideos=0&actors=0&biography=0&uniqueName=0&filmography=0&bornAndDead=0&starSign=0&actorActress=0&actorTrivia=0&similarMovies=0&adultSearch=0&goofs=0&keyword=0"es=0&fullSize=0&companyCredits=0&filmingLocations=0",
dataType: "jsonp",
success: renderMovies
});
}
function renderMovies(movies) {
console.log(movies);
var movieInfo = movies.data.movies;
var table = $("#results");
var tbody = $("#results tbody");
tbody.empty();
for (var m in movieInfo) // Tar information från apin och stoppar in i egna variabler.
{
var movie = movieInfo[m];
var title = movie.title;
var plot = movie.simplePlot;
var posterUrl = movie.urlPoster;
var imdbUrl = movie.urlIMDB;
var tr = $("<tr>");
var titleTd = $("<td>").append(title); // blank
var plotTd = $("<td>" + plot + "</td>"); // undefined on my website
tr.append(titleTd);
tr.append(plotTd);
tbody.append(tr);
}
}
$("#searchMovie").click(searchMovie);
});