我正在为Wikia社区(http://c.wikia.com)创建用户脚本,我需要获取页面的用户数组(以及可能的修订版ID)。我已经提出了以下代码,但似乎无法使其工作。任何帮助将不胜感激。
代码:
var revisions = [];
$.getJSON('/api.php', {
action: 'query',
prop: 'revisions',
titles: mw.config.get("wgPageName"),
rvprop: 'user',
rvlimit: '50',
format: 'json'
}, function (result) {
for (var i = 0; i < 50; i++) {
var revision = result.query.pages.page[i].revisions.user;
revisions.push(revision);
}
alert(revisions);
});
答案 0 :(得分:1)
查询结果如下所示:
{
"query": {
"pages": {
"421588": {
"pageid": 421588,
"ns": 0,
"title": "Community Central",
"revisions": [
{
"user": "Mhadick"
},
{
"user": "Nblonkenfeld"
},
…
]
}
}
},
…
}
您会注意到pages
是一个对象,其属性以当前页面"421588"
的页面ID命名(根据您的代码判断,您可能正在查看响应的XML版本,你必须看看JSON)。要使用它,您可以使用以下内容:
var users = [];
$.getJSON('/api.php', {
action: 'query',
prop: 'revisions',
titles: mw.config.get("wgPageName"),
rvprop: 'user',
rvlimit: '50',
format: 'json'
}, function (result) {
var revisions = result.query.pages[mw.config.get("wgArticleId")].revisions;
$.each(revisions, function(key, revision) {
users.push(revision.user);
});
alert(users);
});