2015-09-06 94 views
0

所以,我有這個基本的「在YouTube上搜索」功能回事,問題是...我有2個GET請求,試圖從兩個不同的數據的URL單擊縮略圖時獲取YouTube視頻ID?

https://www.googleapis.com/youtube/v3/search 

https://www.googleapis.com/youtube/v3/videos 
獲取信息

到目前爲止,我已經得到了一切具有顯示每個視頻的長度和縮略圖,標題等

但有一兩件事給我的工作似乎遇到了問題做的是提醒視頻是的視頻ID點擊。它只是提出「未定義」。我把我的代碼分散了幾個小時以找出可能是錯誤的。任何幫助?

function search() { 
    $('#results').html(''); 

    q = $('#search-input').val(); 

    $.get(
     "https://www.googleapis.com/youtube/v3/search", { 
      part: 'snippet, id', 
      q: q, 
      maxResults: 50, 
      type: 'video', 
      key: rfm 
     }, 
     function(data) { 
      for (var i = 0; i < data.items.length; i++) { 
       $.get(
        "https://www.googleapis.com/youtube/v3/videos", { 
         part: 'snippet, contentDetails', 
         key: rfm, 
         id: data.items[i].id.videoId 
        }, 
        function(video) { 
         if (video.items.length > 0) { 
          var output = getResults(video.items[0]); 

          $("#results").append(output); 
         } 
        }); 
      } 
     }); 
} 

全碼: http://codepen.io/mistkaes/pen/6b6a347c7d24edee15b3491420db4ecd?editors=001

+0

一個你的問題是你有多個同名的ID。你不能。你應該改用class。 –

回答

1

我檢查你的代碼,你在ln79

function getResults(item) { 
    console.log(item); //This is how you should test 
    var videoID = item.id.videoId; 
    var title = item.snippet.title; 
... 

enter image description here

正如你可以看到有一個錯誤,沒有item.id.videoId ,您應該將其更改爲item.id

結果的變化:

enter image description here