我有以下Ajax使用Wikipedia API返回Bon Jovi的jsonp结果:
var wikiUrl = 'Bon_Jovi';
function getAbout(wikiUrl){
$.ajax({
url: 'http://en.wikipedia.org/w/api.php?action=query&prop=extracts&format=json&exintro=&titles=' + wikiUrl,
dataType: 'jsonp',
success: function (data) {
console.log(data);
}
});
}
数据回复如下:
>Object {warnings: Object, query: Object}
>query: Object
>normalized: Array[1]
>pages: Object
>63123: Object
>extract: "<p><b>Bon Jovi</b> is an American rock band...</p>"
如何选择extract
并将其另存为字符串? var extractText = data.query.pages[0].extract
返回query
作为未定义的错误。
答案 0 :(得分:1)
尝试:
var extractText = data.query.pages[63123].extract
答案 1 :(得分:1)
pages
是一个对象,而不是一个数组。在这种情况下,数据位于63123
属性下。除非你事先知道这个属性,否则你需要迭代属性。
var wikiUrl = 'Bon_Jovi';
$.ajax({
url: 'http://en.wikipedia.org/w/api.php?action=query&prop=extracts&format=json&exintro=&titles=' + wikiUrl,
dataType: 'jsonp',
success: function (data) {
var pages = data.query.pages;
for (var p in pages) {
if(pages.hasOwnProperty(p)) {
console.log(pages[p].extract);
}
}
}
});