使用Wikipedia的API从搜索查询中获取结果

vic*_*ria 7 javascript jquery json wikipedia-api

我正在尝试使用维基百科的API来创建搜索查询,然后将这些结果附加到我的页面.这是我到目前为止:

 "use strict";
$(document).ready(function(){

function searchWikipedia(searchCriteria){
    $.getJSON('https://en.wikipedia.org/w/api.php?action=query&format=json&limit=15&callback=?&titles=' + searchCriteria, processResult);

}


$('#btn').click(function searchCriteria() {
    var searchCriteria = $("input[name=Wikipedia]").val();
    searchWikipedia(searchCriteria);

})

function processResult(apiResult){

  if (apiResult.query.pages[-1]){
       console.log("No results");
    } else {
       for (var i = 0; i < apiResult.length; i++){
             $('#display-result').append('<p>'+apiResult+'</p>');
       }
   }

}
}); 
Run Code Online (Sandbox Code Playgroud)

到目前为止,没有任何内容附加到我的HTML,我的控制台没有错误.

Bru*_*cia 6

@Ali马梅多夫的答案是要走的路(这是维基百科),但维基百科的链接缺少HTTP: .此外,您可以处理您的功能响应:

   $(document).ready(function(){
        $('#btn').click(function() {
            $.ajax({
                url: 'http://en.wikipedia.org/w/api.php',
                data: { action: 'query', list: 'search', srsearch: $("input[name=Wikipedia]").val(), format: 'json' },
                dataType: 'jsonp',
                success: processResult
            });
        });
    }); 

  function processResult(apiResult){
     for (var i = 0; i < apiResult.query.search.length; i++){
          $('#display-result').append('<p>'+apiResult.query.search[i].title+'</p>');
     }
  }
Run Code Online (Sandbox Code Playgroud)