Dies ist eine Tabelle mit der Menge der Ergebnisse, die von der MediaWiki-API-Abfrage /api.php?action=query&list=querypage&qppage=BrokenRedirects
zurückgegeben werden. Die Anzahl der Treffer wird dann beispielsweise auf die ID, hinzugefügt:
// BrokenRedirects
$.getJSON('/api.php?action=query&list=querypage&qppage=BrokenRedirects&format=json', function (data) {
$('#BrokenRedirects').text(data.query.querypage.results.length);
});
Aber es ist eine andere als 7 Mal wiederholt werden, habe ich die Argumente für qppage in ein Array und verwenden eine for-Schleife Gesamtcode zu verkürzen.
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);
});
}
Die erste, unlooped, Version funktioniert. Aber als ich eine Schleife hinzufügte, tat es das nicht. Der $getJSON
-Teil wird ausgeführt, aber die resultierenden Daten werden dann nicht zur ID hinzugefügt. Ich lief es durch JSLint, die abgesehen von sich beschweren über Funktionen in einer Schleife und var i
mit var array
zurückgegeben wenig Hilfe zurückgegeben. Ich bin relativ unerfahren mit Javascript also gedacht vielleicht eine Variable kann nicht zweimal innerhalb einer Schleife verwendet werden? Abgesehen davon, vielleicht etwas mit der Verwendung einer ID innerhalb einer Schleife zu tun?
mögliches Duplikat [Verwendung SetTimeout und eine ganze Zahl in einem for-Schleife] (http://stackoverflow.com/questions/13731759/using-settimeout-and-an-integer- in-a-for-loop) –
mögliches Duplikat von [Javascript closure in loops - einfaches praktisches Beispiel] (http://stackoverflow.com/questions/750486/javascript-closure-inside-loops-simple-practical-example) – Bergi
getJSON ist ein asynchroner Aufruf REFER: [Verwendung synchroner ajax Anrufe] [1] [1]: http://stackoverflow.com/questions/3419026/jquery-getjson-funktion-timing-issue – Girish