我试图根据用户的输入从维基百科获取文章。但代码不起作用,我无法弄清楚代码中的错误。
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。
答案 0 :(得分:0)
要向MediaWiki API发出跨域请求,您必须使用format=jsonp
或将适当的origin
参数传递给API。有关详细信息,请参阅Cross-site requests上的MediaWiki文档。