IMDB API说使用以下内容,但如果我搜索“华尔街的狼”,它将通过分隔单词而不是整个字符串进行搜索。
HTML
<form name="search-imdb" autocomplete="off">
<input type="hidden" value="483aa4e4-59f8-4728-804d-8f4bb4311d5a" name="api_key">
<div class="row">
<div class="col-md-8">
<input class="form-control" required="" type="text" name="q" title="Type Name, Title, Character, etc. and hit Enter" placeholder="Type Name, Title, Character, etc. and hit Enter">
</div>
<div class="col-md-4">
<button class="btn btn-primary btn-block">Search IMDb</button>
</div>
</div>
<div class="code"></div>
</form>
JS
$('form[name="search-imdb"]').on("submit", function(e) {
var form = $(this);
e.preventDefault();
$.ajax({
url: "http://imdb.wemakesites.net/api/search",
data: form.serialize(), // assuming the form has a hidden input with api_key name, containing your API key
crossDomain: true,
dataType: "jsonp",
success: function(data) {
window.console.log(data);
}
});
});
JSON
"data": {
"results": {
"titles": [
{
"title": "The...",
答案 0 :(得分:1)
演示页忽略编码搜索词,而是在网址find?q=wolf of wall street
中留下文字空格。 API最有可能解释为find?q=wolf
,因为空格被视为无效,而其余的URL将被忽略。
这有效:http://www.imdb.com/find?q=wolf%20of%20wall%20street
对您的搜索查询encodeURIComponent()
进行网址编码:
var term = 'wolf of wall street';
var encodedTerm = encodeURIComponent(term);
对于像这样的精确搜索词的URL编码通常比使用+
用于空格更可取,因为它会编码其他特殊字符,例如可能在电影标题中的重音符号和标点符号,包括加号+