为什么我需要点击两次?

时间:2017-03-08 14:38:30

标签: javascript jquery api wikipedia-api

我正在做这件事,我必须调用两个维基百科API来获取我需要的信息。我的代码工作正常,但我必须单击两次按钮才能获得结果。

有人能看到我的排序错误吗?

(顺便说一句,所有这些对我来说都是新的,所以我理解我的代码中可能还有很多其他错误/效率低下。欢迎提出意见,但不是必需的。我计划尽快修复此代码按钮的东西。)

<script>
    $(document).ready(function () {

        var rXs = [];
        var rX = /^https:\/\/fr.wikipedia.org\/wiki\/(.*)$/;
        var listeURL = "";
        var liste2 = [];
        var rXTitre = [];

        $("#bouton").on("click", function () {

            var quoi = $("#quoi").val();
            $.getJSON('https://fr.wikipedia.org/w/api.php?action=opensearch&search=' + quoi + '&limit=50&format=json', function (json) {
                var liste = json[3];


                for (y = 0; y <  liste.length; y++) {

                        rXs = rX.exec(liste[y])[1];

                        $.getJSON('https://fr.wikipedia.org/w/api.php?action=query&titles=' + rXs + '&prop=langlinks&lllang=en&format=json', function(json2) {

                            for (var pageId in json2.query.pages) {

                                if (json2.query.pages[pageId].langlinks === undefined) {
                                    liste2.push("https://fr.wikipedia.org/wiki/" + json2.query.normalized[0].from);
                                    rXTitre.push(json2.query.normalized[0].to);
                            };
                        };
                    }); 
                };



                for (i = 0;i < liste2.length;i++) {
                        listeURL += "<a href='" + liste2[i] + "' class='btn list-group-item' role='button'>" + rXTitre[i] + "</a>";
                };
                $("#resultats").html(listeURL);

            });
        });
    });
    </script>

0 个答案:

没有答案