XMLファイルの配列をロードして配列に格納します。非同期XMLHttpRequestを使用してXMLファイルの配列をロードする
コード例:
var src = [ "a", "b", "c", "d" ];
var dest = {};
for (var i in src) {
var req = new XMLHttpRequest();
req.open("GET", src[i], true);
req.onreadystatechange = function(aEvt) {
if (req.readyState == 4) {
if (req.status == 200) {
dump(i + "\n");
dest[i] = req.responseXML;
}
}
}
req.send(null);
}
はしかし、ダンプ結果は常に
です210
コールバックで参照されるi
が常に外部i
であることを示しているため、XMLファイルを正しく保存できません。
この問題を解決するにはどうすればよいですか?私たちは約50のXMLファイルを読み込み、ロードすることはできません。
ありがとうございます。
+1 for.inを使用していないためです。私は私の答えを修正しています:) –
実際のコードでは、私はオブジェクトでループしています、ありがとう! –
EXCELLENT ....しかし、私のforループが何回も繰り返されて(例えば20回)、それぞれがネットワークリクエストである場合、どうすれば実際に他のスレッドをすべて削除/閉じることができますか? –