2016-03-02 58 views
3

我想使用Ajax获取随机维基百科页面的摘录。我尽可能地获取数据,但我无法输出数据。获取随机Wikipedia提取与Ajax

这里是我的代码:

$.ajax({ 
     type: "GET", 
     url: "https://simple.wikipedia.org/w/api.php?action=query&generator=random&grnnamespace=0&prop=extracts&exsentences=10&format=json&callback=?", 
     contentType: "application/json; charset=utf-8", 
     async: false, 
     dataType: "json", 
     success: function (data) { 
      console.log(data); 
      var text = data.parse; 
      document.getElementById('div_text').innerHTML = text; 
     }, 
     error: function (errorMessage) { 
     } 
    }); 

控制台日志中的数据很好,但在浏览器中输出仅仅是undefined

显然,问题是这一行:

var text = data.parse; 

我要去哪里错了?

回答

1

该数据不在data.parse中,而是在data.query.pages中,并且存在第一个对象。

因此改变你的成功方法

success: function (data) { 
     var pages = data.query.pages; 
     var text = pages[ Object.keys(pages)[0] ].extract; 
     document.getElementById('div_text').innerHTML = text; 
    }