2017-10-17 7 views
0

アイテムの配列が空である理由がわかりません。誰かが働いていないことを教えてもらえますか?ありがとうございました。YouTube APIリクエストの空の結果

jQuery(document).ready(function ($) { 

$('#infl-yt-label').on('click', function() { 
    //$('#infl-inp-search').attr("placeholder","YouTube input..."); 
    $('#infl-form-ig').hide(); 
    $('#infl-form-yt').show(); 
}); 

$('#infl-it-label').on('click', function() { 
    //$('#infl-inp-search').attr("placeholder","Instagram input..."); 
    $('#infl-form-yt').hide(); 
    $('#infl-form-ig').show(); 
}); 

$("#searchchannels").on("click", function() { 
    console.log($("#infl-inp-search-yt").val()); 
    $.get(
     "https://www.googleapis.com/youtube/v3/search?", 
     { 
      part:"snippet", 
      type:"channel", 
      q: encodeURIComponent($("#infl-inp-search-yt").val()).replace(/%20/g, "+"), 
      key:key 
     }, 
      function(data) 
      { 
       console.log(data.items) 
       $.each(data.items, function() 
       { 
       console.log(data.items); 
       }) 
      } 

     );//end get 
    alert(1); 
});//end 

});// end 

HTML:

 <div class="infl-sociale col-md-3 col-lg-2 text-center"> 
      <input id="infl-yt" type="radio" name="infl-sociale" value="youtube" checked> 
      <label for="infl-yt" id="infl-yt-label"><i class="fa fa-youtube-play" aria-hidden="true"></i></label> 
      <input id="infl-it" type="radio" name="infl-sociale" value="instagram"> 
      <label for="infl-it" id="infl-it-label"><i class="fa fa-instagram" aria-hidden="true"></i></label> 
     </div> 

注:私は、ヘッダーにGoogleのAPIリンクにスクリプトリンクを持っていません。

+0

おそらく、コールバックでアシンクする間違いやコールバックがJSONで解析されないことがあります。 –

+1

あなたは 'each'関数にデータを渡していません。' $ .each(data.items、function(data) 'を追加してください。 – Grasper

+0

@Grasper、私はあなたの解決策を試しました。 –

答えて

0

"items"コレクションを適切に反復処理するように関数を更新する必要があります。

function(data) 
{ 
    console.log(data.items) /* what does this log to the console? */ 
    $.each(data.items, function(item) 
    { 
     console.log(item); 
    }) 
} 

言われているように、最初のconsole.log(data.items)の結果は何ですか?これが空の場合、それを反復することは何もしません。 console.log(data)を試すか、Chromeの[ネットワーク]タブをデバッグして、API呼び出しの応答を確認することもできます。

関連する問題