如果您想要实际的html页面上显示的html,请改用action =
parse。是的,结果对象是深层嵌套的。但是没有理由在它们上面循环!
- 第一个属性始终是动作,在这里:
query
- 您已请求页面属性,因此您将收到
pages
- 并以其页面ID作为关键字。这是使用循环的唯一步骤
- 每个页面对象都有某些属性(例如标题),您对
revisions
- 这是一个修订对象数组,您需要唯一的一个
- 修订对象的sourcetext属性是
*
因此,只需执行以下操作:
if (data && data.query && data.query.pages) var pages = data.query.pages;else // error: No pages returned / other problems!for (var id in pages) { // in your case a loop over one property if (pages[id].revisions && pages[id].revisions[0] && pages[id].revisions[0]["*"]) var content = pages[id].revisions[0]["*"]; else // error: No revision content returned for whatever reasons!}// use "content" variable here不要忘记检查每个对象的存在!如果您不请求任何页面,则将没有页面对象。仅当页面“数组”为空时才如此。页面可能缺少标题/标题无效或其他内容,因此该页面没有修订。等等



