0
我正在嘗試對維基百科API進行AJAX調用,循環訪問先前調用維基百科API的結果。ajax調用擾碼迭代器值
var intro = [];
for (var i in json.query.search) {
(function(i) {
$.getJSON("https://en.wikipedia.org/w/api.php?action=query&format=json&prop=extracts&list=&meta=&titles=" + link[i] + "&callback=?&exsentences=1&exintro=1", function(data) {
for (var key in data.query.pages) {
var temp = data.query.pages[key].extract;
intro.push(temp);
break;
}
console.log(intro);
$('#results-div').append("<div class='col-xs-12'><a target='_blank' href='https://en.wikipedia.org/wiki/" + link[i] + "'><div class='result-inner'><h2 class='text-center'>" + pageTitle[i] + "</h2>" + intro[i] + "</div></a></div>");
});
})(i);
}
的getJSON不通過結果去爲了(i的值,如果調用的getJSON的成功函數中,以隨機的順序變爲0-10,而如果它被稱爲它的外面,它會去從0-10開始依次)。因此,附加值的順序不正確。
不僅如此,由來自getJSON的數據填充的intro
數組並不總是對應於link
和pageTitle
數組(相互對應)的值。這是getJSON使用的i
值與當前在循環中迭代的值不同。例如當我從0開始時,getJSON的第一個呼叫可以使用5作爲i
。
如何獲取getJSON以使用正確的迭代器值?
不工作,因爲我特別需要進行第二次不同的調用以獲取* intro * –