javascript - 使用维基百科的 API 从搜索查询中获取结果

标签 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>');
       }
   }

}
}); 

到目前为止,我的 html 中没有附加任何内容,我的控制台中也没有错误。

最佳答案

@Ali Mamedov 的回答是要走的路(来自维基百科) 但是维基百科链接缺少 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>');
     }
  }

关于javascript - 使用维基百科的 API 从搜索查询中获取结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36985111/

相关文章:

javascript - jQuery、对话框、选项卡和数据表 : how to wait for one to finish before going ahead?

javascript - 当我将鼠标快速移出绘图时,jQuery flot 工具提示不会隐藏

android - 通过传递的 JSON 在 Android 中生成/创建动态选项卡

javascript - 如何使用 jquery + ajax 制作多个依赖下拉列表

javascript - 如何禁用在 iframe 元素内拖动?

javascript - 使用 jquery 在表中触发 anchor 单击

java - 服务器到客户端进行json通信的通用java类

json - 使用 GO 解码 JSON 失败,有什么提示吗?

javascript - 在映射的子项上 react mouseEnter 事件不起作用

javascript - 在 Vue.js 中将 Prop 传递给根实例