$ getJSON i problem z pętlą

Ma to na celu wypełnienie tabeli ilością wyników zwracanych z zapytania API MediaWiki/api.php?action=query&list=querypage&qppage=BrokenRedirects. Liczba wyników jest następnie dodawana do identyfikatora, na przykład:

// BrokenRedirects
$.getJSON('/api.php?action=query&list=querypage&qppage=BrokenRedirects&format=json', function (data) {
    $('#BrokenRedirects').text(data.query.querypage.results.length);
});

Ale gdy powtarzane jest kolejne 7 razy, stworzyłem argumenty dla qppage w tablicy i użyłem pętli for do skrócenia ogólnego kodu.

var array = ['BrokenRedirects',
             'DoubleRedirects',
             'Unusedcategories',
             'Unusedimages',
             'Wantedcategories',
             'Wantedfiles',
             'Wantedpages',
             'Wantedtemplates'];

for (var i = 0; i < array.length; i++) {
    $.getJSON('/api.php?action=query&list=querypage&qppage=' + array[i] + '&format=json', function (data) {
        $('#' + array[i]).text(data.query.querypage.results.length);
    });
}

Pierwsza, nieotwarta wersja działa. Ale kiedy dodałem pętlę, nie. The$getJSON część jest wykonywana, ale później nie można dodać wynikowych danych do identyfikatora. Uruchomiłem go za pomocą JSLint, który oprócz narzekania na funkcje w pętli i deklarowaniavar i zvar array zwrócił niewiele pomocy. Jestem stosunkowo niedoświadczony w javascript, więc myślę, że być może zmiennej nie można użyć dwukrotnie w pętli? Poza tym może coś wspólnego z używaniem identyfikatora w pętli?

questionAnswers(4)

yourAnswerToTheQuestion