$getJSON-und for-Schleife Problem

Dies ist zum füllen einer Tabelle mit der Menge der Ergebnisse, die zurückgegeben werden aus der MediaWiki API-Abfrage /api.php?action=query&list=querypage&qppage=BrokenRedirects. Die Anzahl der Ergebnisse wird dann Hinzugefügt, um die id, z.B.:

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

Aber, da es wiederholt zu weitere 7 mal machte ich die Argumente für qppage in ein array und verwendet eine for-Schleife zu verkürzen gesamte code.

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);
    });
}

Den ersten, unlooped, die version funktioniert. Aber wenn ich fügte hinzu, eine Schleife ist es nicht. Die $getJSON Teil ausgeführt, doch es schlägt fehl, fügen Sie die resultierenden Daten zu der id. Ich lief es durch JSLint, die abgesehen von Klagen über Funktionen in einer Schleife und deklarieren var i mit var array kehrte wenig helfen. Ich bin relativ unerfahren mit javascript so dachte, vielleicht ist eine variable kann nicht verwendet werden, zweimal innerhalb einer Schleife? Andere als die, vielleicht etwas zu tun mit einer id innerhalb einer Schleife?

InformationsquelleAutor Onei | 2013-03-11
Schreibe einen Kommentar