Javascript 查询MediaWiki API以查找页面上的链接并不会返回所有链接

Javascript 查询MediaWiki API以查找页面上的链接并不会返回所有链接,javascript,mediawiki,mediawiki-api,Javascript,Mediawiki,Mediawiki Api,我正在寻找这个WikiQuote页面上的链接。我想看看“基本”类别下存在哪些子类别。它们在页面上显示为链接,因此请求API提供链接似乎很自然。我只得到介绍中的“分类方案”和“主页”链接。我做错了什么/我在这里误解了什么 代码 function httpGetAsync(theUrl, callback){ xmlHttp = new XMLHttpRequest(); xmlHttp.onreadystatechange = function() { if (x

我正在寻找这个WikiQuote页面上的链接。我想看看“基本”类别下存在哪些子类别。它们在页面上显示为链接,因此请求API提供链接似乎很自然。我只得到介绍中的“分类方案”和“主页”链接。我做错了什么/我在这里误解了什么

代码

function httpGetAsync(theUrl, callback){
    xmlHttp = new XMLHttpRequest();
    xmlHttp.onreadystatechange = function() { 
        if (xmlHttp.readyState == 4 && xmlHttp.status == 200){
            callback(xmlHttp.responseText);
        } 
    }
    xmlHttp.open("GET", theUrl, true); // true for asynchronous
    xmlHttp.send('null');
}

function callback(json_response){
    stuff = json_response;
    console.log(JSON.stringify(JSON.parse(json_response), null, 2));
}

httpGetAsync('http://en.wikiquote.org/w/api.php?action=query&prop=links&titles=Category:Fundamental&origin=*&format=json', callback);
输出

{
  "batchcomplete": "",
  "query": {
    "pages": {
      "4480": {
        "pageid": 4480,
        "ns": 14,
        "title": "Category:Fundamental",
        "links": [
          {
            "ns": 4,
            "title": "Wikiquote:Category schemes"
          },
          {
            "ns": 14,
            "title": "Category:Main page"
          }
        ]
      }
    }
  }
}

解决方案

httpGetAsync('https://en.wikiquote.org/w/api.php?&action=query&list=categorymembers&cmtitle=Category:Fundamental&cmtype=subcat&origin=*&format=json', callback);

解释

httpGetAsync('https://en.wikiquote.org/w/api.php?&action=query&list=categorymembers&cmtitle=Category:Fundamental&cmtype=subcat&origin=*&format=json', callback);
这是在“基本类别”页面上请求前10个子类别(未指定cmlimit,因此默认为10个返回的项目)

这个解决方案通过返回我想要的子类别来解决这个问题,它不要求链接。我不知道为什么他们没有出现的链接,但它确实让我的最终结果,我是无论如何

学分


感谢randelldawson在FreeCodeCamp论坛上提供此解决方案

因为“类别”页面中列出的页面是指向该类别的链接。prop=links API查询返回类别描述中的链接。