2016-08-12 45 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感谢您的提示! :) –