2

これが私のコードの一部です:

for (var i = 0; i < recordList.length; i++) {
  var recordID = recordList[i];
  populateDataRow(i, recordID, columns) 
};
console.log("done");

問題populateDataRow$.getJSON (少なくともGoogle Chromeでは)サイクルが完了するconsole.logずっと前にステートメントがトリガーされることですpopulateDataRow

4

2 に答える 2

0

$.getJSONjQuery の$.ajax()-function の省略形です。XHR (または AJAX) - 呼び出しは非同期です。他のコードがさらに実行されます。AJAX 呼び出しが完了したときに実行されるコールバック関数を提供する必要があります。

API から ( http://api.jquery.com/jQuery.getJSON/ )

$.getJSON('ajax/test.json', function(data) {

});

ここに、function(data){}への引数として提供されるコールバック関数がありますgetJSON。返されたデータで何かをしたい場合は、この関数内で、またはこの関数が実行された後にそれを行う必要があります。

于 2013-05-09T16:41:46.860 に答える