2016-08-12 6 views
0

を表示します。唯一の問題は、最初の4件の結果しか表示されないことです。私は似たような質問を見てきましたが、それ以上の表示方法は見つけられません。 Here's the jsfiddleWikipediaのAPI - 私はいくつかの記事を表示するには、Wikipediaの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はチップをありがとう! :) –

関連する問題