2013-10-25 50 views
1

使用YouTube API。試圖得到一個警告(「沒有搜索結果」)當json.data.totalItems == 0但它只是沒有發生,什麼也沒有發生......當json.data.totalItems> 0它一切正常。json.data.totalItems == 0不能正常工作

任何想法,爲什麼這是?

json.data.totalItems == 0: https://gdata.youtube.com/feeds/api/videos?v=2&alt=jsonc&max-results=20&format=5&orderby=relevance&uploader=partner&q=oierjt

代碼: VAR URL =「https://gdata.youtube.com/feeds/api/videos?v=2&alt=jsonc&max-結果= 20 &格式= 5 &的OrderBy =評級&載=夥伴& Q = 「+ searchinput;

 var request = $.ajax({ 

      url: url, 

      type: "GET", 

      timeout: 8000, 

      dataType: "json", 

      error: function(xhr, ajaxOptions, thrownError) { 

       alert("Something went wrong"); 

      }, 

      success: function(json) { 

       var numberOfItems = json.data.items.length; 
     var totalItemsAmount = json.data.totalItems;   

     if (totalItemsAmount == 0) { 
        alert("No videos found"); 
       } 
       else { 

        for (var i = 0; i < numberOfItems; i++) { 
          alert("videos found") 
         } 
       } 
+0

您能否顯示相關代碼..至於您如何使用它..? –

+0

請發表您的完整代碼。 –

+0

你也可以顯示'JSON.stringify(json)'給你什麼? – SheetJS

回答

1

檢查results - 如果totalItems是零,則items是不存在的。您將在線路json.data.items.length處遇到異常情況。您需要刪除該行,或將其放在else區塊內:

success: function(json) { 
    var totalItemsAmount = json.data.totalItems;   
    if (totalItemsAmount == 0) { 
     alert("No videos found"); 
    } else { 
     var numberOfItems = json.data.items.length; 
+0

完美,謝謝! –