我正在做这件事,我必须调用两个维基百科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>