我在使用Wikipedia API时遇到了困难

时间:2016-06-06 16:18:14

标签: javascript wikipedia-api

我试图根据用户的输入从维基百科获取文章。但代码不起作用,我无法弄清楚代码中的错误。

var wResult = document.getElementById("result");
var summary, articleTitle, apiUrl;
function getResult(){
var inputTitle = document.getElementById("title").value;

 apiUrl = "https://en.wikipedia.org/w/api.php?action=query&format=json&list=search&indexpageids=1&redirects=1&formatversion=latest&srsearch="+inputTitle+"&srlimit=10";

  $.getJSON(apiUrl, function(response){
 summary = response.query.search[0].snippet;
     wResult.innerHTML = summary; 
  });

}
var inputBtn = document.getElementById("btn");
inputBtn.addEventListener("click", getResult);

以下是HTML代码:

<body>
  <h1 class="text-center"> Wikipedia Viewer </h1>


  <form class="col-lg-4 input-group" name="search" id="form">

    <input type="text" id="title" placeholder="Search title" class="form-control">

    <span class="input-group-btn">
      <button type="button" class="btn btn-secondary" id="btn">Go!</button>
    </span>
  </form>


  <div id="result">

  </div>
</body>

您可以查看here

1 个答案:

答案 0 :(得分:0)

要向MediaWiki API发出跨域请求,您必须使用format=jsonp或将适当的origin参数传递给API。有关详细信息,请参阅Cross-site requests上的MediaWiki文档。