這是用MediaWiki API查詢返回的結果數量填充表格/api.php?action=query&list=querypage&qppage=BrokenRedirects
。然後結果的數量被添加到ID,例如:
// BrokenRedirects
$.getJSON('/api.php?action=query&list=querypage&qppage=BrokenRedirects&format=json', function (data) {
$('#BrokenRedirects').text(data.query.querypage.results.length);
});
但是因爲它是被重複另外7次我爲qppage參數到一個數組,用於一個循環,以縮短整體的代碼。
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);
});
}
第一個unlooped版本的作品。但是當我添加一個循環時,它沒有。 $getJSON
部分執行,但它然後無法將結果數據添加到id。我通過JSLint運行它,除了抱怨循環中的函數,並且宣佈var i
和var array
沒有什麼幫助。我對JavaScript相對缺乏經驗,所以也許一個變量不能在循環中使用兩次?除此之外,也許有關在循環中使用ID的事情?
[使用setTimeout和在for循環中的整數](可能重複http://stackoverflow.com/questions/13731759/using-settimeout-and-an-integer- for循環) – 2013-03-11 20:20:42
[Javascript閉包內循環 - 簡單實用示例]的可能重複(http://stackoverflow.com/questions/750486/javascript-closure-inside-loops-simple-practical-example) – Bergi 2013-03-11 20:21:13
getJSON是異步調用 REFER:[使用同步ajax調用] [1] [1]:http://stackoverflow.com/questions/3419026/jquery-getjson-function-timing-issue – Girish 2013-03-11 20:34:33