2016-08-12 74 views
0

我正在使用維基百科API顯示一些文章。唯一的問題是它只顯示前4個結果。我已經看過類似的問題,但仍無法找到更多顯示方式。 Here's the jsfiddleWikipedia API - 僅顯示4個結果

JS:

$(document).keypress(function(e) { 

     if(e.which == 13) { 

      var searchTerm = $('#searchy').val(); 
      var url = "https://en.wikipedia.org/w/api.php?action=opensearch&search=" + searchTerm + "&format=json&callback=?"; 

      $.ajax({ 
       type: "GET", 
       url: url, 
       contentType: "application/json; charset=utf-8", 
       async: false, 
       dataType: "json", 
       success: function(data){ 
        //console.log(data[1][0]); 
        //console.log(data[2][0]); 
        //console.log(data[3][0]); 
        $('#output').html(''); 
       for (var i = 0; i < data.length; i++) { 
        $('#output').prepend("<li><a href=" + data[3][0] + ">" + data[1][0] + "</a><p>" + data[2][0] + "</p></li>"); 

        $('#centbox').css("top", "14%"); 
        $('#resultati').css("top", "16%"); 
       } 
      }, 
       error: function(errorMessage){ 
       alert("Error!"); 
      } 

      }) 

     }; 
    }); 

回答

3

您有:

for (var i = 0; i < data.length; i++) { 

data.length總是將是4:[0]是搜索,[1]是物品名稱的數組,[2]是一組摘要,而[3]是一個鏈接數組。

因此,或許:

for (var i = 0; i < data[1].length; i++) { 
    $('#output').prepend("<li><a href=" + data[3][i] + ">" + data[1][i] + "</a><p>" + data[2][i] + "</p></li>"); 
+0

完美工作,感謝解釋! –

+1

另外,您可能想要了解默認限制爲10,您可以在URL limit = N中添加查詢以更改最大結果數。 –

+0

@DeepakKamat感謝您的提示! :) –