维基百科 API 解析操作仅返回 "other languages" 部分

Wikipedia API parse action only returning "other languages" section

我正在尝试显示一篇随机的维基百科文章。我有一个 ajax 随机页面 ID 请求和一个内部 ajax 请求来解析该页面 ID 的文本。我每次都会得到一个随机页面 ID,但是当我尝试使用内部 ajax 请求显示它时,显示的只是 "other languages" 部分。

我正在使用 the call specified by the Wikipedia API sandbox,但我得到的结果与该页面上显示的结果不同。有什么见解吗?

这是我的函数:

$(document).ready(function () { //document.ready
  $('#random-btn').click(function() { //random-btn click
    $.ajax ({ //ajax random page 
      url: "http://www.mediawiki.org/w/api.php",
      jsonp: "callback",
      dataType: 'jsonp',
      data: {
        action: "query",
        format: "json",
        list: "random",
      },
      success: function (randomPage) { //random page success
        var randomID = randomPage.query.random[0].id.toString();
        console.log(randomID);
        $.ajax ({ //ajax display given page
          url: "http://www.mediawiki.org/w/api.php?action=parse&format=json&pageid=367435",
          jsonp: "callback",
          dataType: 'jsonp',
          data: {
            action: "parse",
            format: "json",
            pageids: randomID,
          },
          success: function (jsonObject) { //display success
            var displayText = jsonObject.parse.text["*"];
            $('#display').html(displayText);
          } //display success
        }) //ajax display given page
      } //random page success
    }) //ajax random page 
  }) //random-btn click
}) //document.ready 

您也可以通过在一个请求中使用带有 extracts 属性 的生成器来完成所有这些操作。检查参数以获得更多选项。

$(document).ready(function () {
    $('#random-btn').click(function () {
        $('#display').empty();
        $.ajax({
            url: 'http://www.mediawiki.org/w/api.php',
            dataType: 'jsonp',
            data: {
                action: 'query',
                format: 'json',
                generator: 'random',
                prop: 'extracts',
                grnnamespace: 0,
                explaintext: true
            },
            success: function (result) {
                var pages = result.query.pages;
                var page = pages[Object.keys(pages)[0]];
                $('#display').append($('<h2>').text(page.title));
                $('#display').append($('<p>').text(page.extract));
            }
        });
    });
});
<!DOCTYPE html>
<html>
<body>
    <button id="random-btn">Get random</button>
    <div id="display"></div>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
</body>
</html>