Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Wikipedia API解析操作仅返回“;其他语文;部分_Javascript_Jquery_Json_Ajax_Mediawiki Api - Fatal编程技术网

Javascript Wikipedia API解析操作仅返回“;其他语文;部分

Javascript Wikipedia API解析操作仅返回“;其他语文;部分,javascript,jquery,json,ajax,mediawiki-api,Javascript,Jquery,Json,Ajax,Mediawiki Api,我试图显示一篇随机的维基百科文章。我有一个针对随机页面ID的ajax请求和一个用于解析该页面ID文本的内部ajax请求。我每次都会得到一个随机页面ID,但当我尝试使用内部ajax请求显示它时,所显示的只是“其他语言”部分 我正在使用,但是我没有得到与该页面上显示的相同的结果。有什么见解吗 以下是我的功能: $(document).ready(function () { //document.ready $('#random-btn').click(function() { //random-

我试图显示一篇随机的维基百科文章。我有一个针对随机页面ID的ajax请求和一个用于解析该页面ID文本的内部ajax请求。我每次都会得到一个随机页面ID,但当我尝试使用内部ajax请求显示它时,所显示的只是“其他语言”部分

我正在使用,但是我没有得到与该页面上显示的相同的结果。有什么见解吗

以下是我的功能:

$(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 

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

$(文档).ready(函数(){
$(“#随机btn”)。单击(函数(){
$('#display').empty();
$.ajax({
网址:'http://www.mediawiki.org/w/api.php',
数据类型:“jsonp”,
数据:{
操作:“查询”,
格式:“json”,
生成器:“随机”,
道具:“摘录”,
grnnamespace:0,
解释文字:对
},
成功:功能(结果){
var pages=result.query.pages;
var page=pages[Object.keys(pages)[0]];
$('#display')。追加($('').text(page.title));
$(“#显示”).append($(“”).text(page.extract));
}
});
});
});

随机

在您的内部AJAX请求中,您已经将数据添加到URL以及
pageid
(即367435)。尝试从URL中删除查询字符串,并在请求方法中使用
数据
数组向其添加数据。此外,在URL中,您使用
&pageid
,而数据数组中的变量将使用
&pageid
。啊,谢谢你,很好的捕获,我从api沙箱复制了URL并用它填充数据数组,只是忘了擦除URL的结尾,哇哈哈