如何使用 IMDB api 搜索整个字符串?

How to search for a whole string using IMDB api?

IMDB API 说要使用以下但如果我搜索 "The wolf of wall street" 它将通过分隔单词而不是整个字符串进行搜索。

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...",

演示页面忽略了对搜索词进行编码,而是在 url find?q=wolf of wall street 中保留了文字空格。 API 最有可能解释为 find?q=wolf,因为空格被认为是无效的,URL 的其余部分将被忽略。

这个有效:http://www.imdb.com/find?q=wolf%20of%20wall%20street

URL 编码您的搜索查询 encodeURIComponent():

var term = 'wolf of wall street';
var encodedTerm = encodeURIComponent(term);

URL 编码这样的精确搜索词通常比使用 + 空格更可取,因为它会编码其他特殊字符,如电影标题中可能出现的重音符号和标点符号,包括加号符号 +.