作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试显示随机的维基百科文章。我有一个随机页面 ID 的 ajax 请求和一个解析该页面 ID 文本的内部 ajax 请求。我每次都会得到一个随机页面 ID,但是当我尝试使用内部 ajax 请求显示它时,显示的只是“其他语言”部分。
我正在使用the call specified by the Wikipedia API sandbox ,但我没有得到与该页面上显示的相同结果。有什么见解吗?
这是我的功能:
$(document).ready(function () { //document.ready
$('#random-btn').click(function() { //random-btn click
$.ajax ({ //ajax random page
url: "http://www.mediawiki.org/w/api.php",
jsonp: "callback",
dataType: 'jsonp',
data: {
action: "query",
format: "json",
list: "random",
},
success: function (randomPage) { //random page success
var randomID = randomPage.query.random[0].id.toString();
console.log(randomID);
$.ajax ({ //ajax display given page
url: "http://www.mediawiki.org/w/api.php?action=parse&format=json&pageid=367435",
jsonp: "callback",
dataType: 'jsonp',
data: {
action: "parse",
format: "json",
pageids: randomID,
},
success: function (jsonObject) { //display success
var displayText = jsonObject.parse.text["*"];
$('#display').html(displayText);
} //display success
}) //ajax display given page
} //random page success
}) //ajax random page
}) //random-btn click
}) //document.ready
最佳答案
您也可以通过使用 extracts 的生成器来完成这一切一次请求中的属性。检查参数以获取更多选项。
$(document).ready(function () {
$('#random-btn').click(function () {
$('#display').empty();
$.ajax({
url: 'http://www.mediawiki.org/w/api.php',
dataType: 'jsonp',
data: {
action: 'query',
format: 'json',
generator: 'random',
prop: 'extracts',
grnnamespace: 0,
explaintext: true
},
success: function (result) {
var pages = result.query.pages;
var page = pages[Object.keys(pages)[0]];
$('#display').append($('<h2>').text(page.title));
$('#display').append($('<p>').text(page.extract));
}
});
});
});
<!DOCTYPE html>
<html>
<body>
<button id="random-btn">Get random</button>
<div id="display"></div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
</body>
</html>
关于javascript - 维基百科 API 解析操作仅返回 "other languages"部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35800427/
我是一名优秀的程序员,十分优秀!