使用getJSON获取维基百科类别标题

时间:2016-02-16 09:25:23

标签: jquery ajax getjson wikipedia-api

我正在尝试从JSON数据中检索标题的类别。

例如: https://fr.wikipedia.org/w/api.php?action=query&titles=Albert%20Einstein&prop=categories

我试过这样的事情:

var requestOnURL = "https://fr.wikipedia.org/w/api.php?format=json&action=query&titles=Albert%20Einstein&prop=categories&callback=?";

$.getJSON(requestOnURL ,function(data) {
  $.each(data.query.pages, function(i, item) {

    alert(item.title);
    //alert(item.categories.title);
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

如果我对标题发出警报,但我不知道如何显示类别,仍在搜索。

1 个答案:

答案 0 :(得分:0)

好的,谢谢@Juhana我错过了循环 。如果我做这样的事情,那就去工作:

&#13;
&#13;
$.getJSON(requestOnURL ,function(data) {
        $.each(data.query.pages, function(i, item) {
            $.each(item.categories, function(i, cat){
                alert(cat.title);
            })
        });
    });
&#13;
&#13;
&#13;

编辑:在维基百科上只有主要类别而不是隐藏类别(在你的html div class中创建一个div =&#34; result-wiki&#34;)

&#13;
&#13;
//Add clshow=!hidden to the requestOnURL to hide subcategories

var requestOnURL = "https://fr.wikipedia.org/w/api.php?format=json&action=query&titles=Albert%20Einstein&prop=categories&clshow=!hidden&callback=?";

$.getJSON(requestOnURL ,function(data) {
        $.each(data.query.pages, function(i, field) {

            $.each(field.categories, function(i, cat){

                //Add all the result to the div result-wiki
                $('.result-wiki').append("<p>" + cat.title + "</p>");
              
                //Remove the "Category:"
                $('.result-wiki:contains("Catégorie:")').each(function(){
                    $(this).html($(this).html().split("Catégorie:").join(""));
                });
            });
        });
    });
&#13;
&#13;
&#13;