2017-01-22 16 views
-1

IMDB APIは以下を使用すると言いますが、「Wall Streetの狼」を検索すると、文字列全体ではなく単語を区切って検索します。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

これを実装するには、それまでと同じです。 –

+0

@ DanielA.Whiteおそらく、私がこれを使用した場合、文字列全体を使用した結果は正しいです。https://www.omdbapi.com/ –

+0

なぜ落札者ですか? –

答えて

1

デモページには、検索語をエンコード無視し、代わりにURL find?q=wolf of wall streetにリテラルスペースを残します。スペースは無効と見なされ、残りのURLは無視されるため、APIはfind?q=wolfと解釈される可能性が最も高いです。

これは動作します:これはスペースの+を使用して、通常好適であるように、それは他の特殊文字をエンコードしますので、正確な検索用語のため

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

URLエンコーディング:URLへhttp://www.imdb.com/find?q=wolf%20of%20wall%20street

は、検索クエリencodeURIComponent()をエンコードプラスの記号+を含む、映画のタイトルのようなアクセントや句読点のようなものです。

+0

これは私に近いです私はもっ​​と間隔の代わりに+の記号を付けたいと思っていました。まだあなたはもっと論理があるようです。ありがとうございます。 –

+1

適切なURLエンコードを行う利点は、スペースだけでなく特殊文字もエンコードすることです。タイトルのアクセントのある映画が使えるようになります。 – Soviut

+0

素晴らしい、感謝します、ありがとう –

関連する問題