我正在尝试创建一个URL,将输入文本传递给AJAX调用的查询字符串。在控制台中,我可以看到我将输入的文本捕获为字符串,但它没有传入URL并且它返回一个空对象。
<form action="" method="GET">
<input type="text" id="movie-title" placeholder="Enter a movie title">
<input type="submit" id="sbmt-movie">
</form>
$("#sbmt-movie").click(function(){
var movie = $("#movie-title").val().toLowerCase();
console.log("the movie title is " + movie);
var url = "https://api.themoviedb.org/3/search/movie?query=" + encodeURIComponent(url) + "&api_key=9b97ec8f92587c3e9a6a21e280bceba5";
$.ajax ({
url: url,
dataType: "json",
success: function (data) {
console.log(data);
var list = data.list;
}
}); //close .ajax
});
这是我在控制台中看到的信息:
XHR完成加载:GET“https://api.themoviedb.org/3/search/movie?query=undefined&api_key=9b97ec8f92587c3e9a6a21e280bceba5”。
Object {page:1,results:Array [0],total_results:0,total_pages:1}
答案 0 :(得分:1)
您的问题在于
行var url = "https://api.themoviedb.org/3/search/movie?query=" + encodeURIComponent(url) + "&api_key=9b97ec8f92587c3e9a6a21e280bceba5";
您正尝试在技术上尚未定义的变量encodeURIComponent()
上使用函数url
。
我想你要做的是encodeURIComponent(movie)
。
var url = "https://api.themoviedb.org/3/search/movie?query=" + encodeURIComponent(movie) + "&api_key=9b97ec8f92587c3e9a6a21e280bceba5";
查看我更新的代码集here。
答案 1 :(得分:0)
您正在将url
传递给encodeURIComponent,而不是movie