使用 Ajax 获取随机维基百科摘录
Get random Wikipedia extract with Ajax
我正在尝试使用 Ajax 获取随机维基百科页面的摘录。我已经获得了数据,但在输出时遇到了问题。
这是我的代码:
$.ajax({
type: "GET",
url: "https://simple.wikipedia.org/w/api.php?action=query&generator=random&grnnamespace=0&prop=extracts&exsentences=10&format=json&callback=?",
contentType: "application/json; charset=utf-8",
async: false,
dataType: "json",
success: function (data) {
console.log(data);
var text = data.parse;
document.getElementById('div_text').innerHTML = text;
},
error: function (errorMessage) {
}
});
控制台记录数据正常,但浏览器中的输出只是 undefined
。
很明显,问题出在这一行:
var text = data.parse;
我哪里错了?
数据不在 data.parse
中,而是在 data.query.pages
中,第一个对象也在那里。
所以将成功方法更改为
success: function (data) {
var pages = data.query.pages;
var text = pages[ Object.keys(pages)[0] ].extract;
document.getElementById('div_text').innerHTML = text;
}
我正在尝试使用 Ajax 获取随机维基百科页面的摘录。我已经获得了数据,但在输出时遇到了问题。
这是我的代码:
$.ajax({
type: "GET",
url: "https://simple.wikipedia.org/w/api.php?action=query&generator=random&grnnamespace=0&prop=extracts&exsentences=10&format=json&callback=?",
contentType: "application/json; charset=utf-8",
async: false,
dataType: "json",
success: function (data) {
console.log(data);
var text = data.parse;
document.getElementById('div_text').innerHTML = text;
},
error: function (errorMessage) {
}
});
控制台记录数据正常,但浏览器中的输出只是 undefined
。
很明显,问题出在这一行:
var text = data.parse;
我哪里错了?
数据不在 data.parse
中,而是在 data.query.pages
中,第一个对象也在那里。
所以将成功方法更改为
success: function (data) {
var pages = data.query.pages;
var text = pages[ Object.keys(pages)[0] ].extract;
document.getElementById('div_text').innerHTML = text;
}