2017-05-09 8 views
0

結果が表示されていないムービーを検索すると、私の前回の成功した検索の詳細(タイトル、年、プロットなど)と壊れたイメージが表示されます。 。omdb api no results

映画が見つからない場合は、何も表示しないようにしたいと考えています。これは可能ですか?

私はJavascriptとJsonについて非常に限られた知識しか持っていませんが、しばらくの間様々なことを試してきました。どんな助けでも大歓迎です。

ここで私は物事をしようと、それを台無しにする前に私のコードです:失敗したクエリに

var $Form = $('#omdbform'), $Container = $('#containera'); 
$Container.hide(); 
$Form.on('click', function(p_oEvent){ 
    var sUrl, sMovie, oData; 
    p_oEvent.preventDefault(); 
sMovie = $Form.find('#moviename').val(); 
    sUrl = 'https://www.omdbapi.com/?t=' + sMovie + '' 
    $.ajax(sUrl, { 
     complete: function(p_oXHR, p_sStatus){ 
      oData = $.parseJSON(p_oXHR.responseText); 
      console.log(oData); 
      $Container.find('.title').text(oData.Title); 
      $Container.find('.plot').text(oData.Plot); 
      $Container.find('.poster').html('<img src="' + oData.Poster + '" alt=""/>'); 
      $Container.find('.year').text(oData.Year); 
      $Container.find('.rated').text(oData.Rated); 
      $Container.show(); 
     } 
    });  
}); 
+0

コードをもっと減らすことはできますか?ちょうどリクエストをして、探している結果を返さないように思えます。 – TankorSmash

+0

あなたの応答の本文をチェックする必要があります。失敗したクエリでAPIページを確認しましたか? –

+0

@TrankorSmash私が望む結果が得られていますが、見つからないムービーを検索すると、何も表示しないようにしたいと思っている以前の検索結果の詳細が表示されます。私はこれが理にかなってほしい。 – Greg

答えて

1

次のようにこのAPIが応答:ステータスコード200

{"Response":"False","Error":"Movie not found!"} 

をので、あなたから身体をチェックする必要があります応答。

編集:あなたは、応答オブジェクトおよびチェックにhasOwnPropertyメソッドを使用することができます

このオブジェクトがtitle性質を持っているし、何もしない、他の場合にはContainer.show()を、電話またはDOMでいない結果に関する情報を表示します。

編集2:

oData = $.parseJSON(p_oXHR.responseText); 

if (oData.hasOwnProperty("Title")) { 
    $Container.find(".title").text(oData.Title); 
    $Container.find(".plot").text(oData.Plot); 
    $Container.find(".poster").html('<img src="' + oData.Poster + '" alt=""/>'); 
    $Container.find(".year").text(oData.Year); 
    $Container.find(".rated").text(oData.Rated); 
} else { 
    $Container.find(".error").text(oData.Response); 
} 
$Container.show(); 

あなたのコンテナはまだだろう場合は、おそらくあなたは、私がDOM Removalセクションからempty法または他の方法を推測してDOMをクリアするためのメソッドを実装する必要があり、前のビデオについての情報を持っています。

+0

申し訳ありません私はまだ完全に失われています。私は最後の1時間ほどそれをグーグルで試してみて、いくつかのことを試しましたが、何かを働かせるように見えません。 – Greg

+0

私の編集を見てください。 –

+0

ご協力いただきありがとうございますが、それは私の頭の中にあり、敗北を認める時だと思います。このようなほとんどの事は、私は離れてハックすることができ、最終的にそれを動作させることができますが、これは私を持っています。 – Greg

関連する問題