2016-08-13 8 views
0

誰かがこの構文で私を助けることができたら非常に感謝します。私は別のテキストファイルを取得するたびにいくつかのXMLリクエストを行うことを望んでいます。ここに私のコードの一般的な構造があります。どのようにして各ファイルを順番に取得できますか(f0、f1、f2)?(beginner javascript)複数のテキストファイルを取得するxmlリクエスト

window.onload = function(){ 

var f = (function(){ 
    var xhr = []; 
    for (i = 0; i < 3; i++){ 
     (function (i){ 
      xhr[i] = new XMLHttpRequest(); 
      f0 = "0.txt" 
      f1 = "1.txt" 
      f2 = "2.txt" 
      //??? xhr[i].open("GET", file i, true); 
      xhr[i].onreadystatechange = function() { 
       if (xhr[i].readyState == 4 && xhr[i].status == 200) { 
        //do stuff 
       } 
      }; 
      xhr[i].send(); 
     })(i); 
    } 
})(); 

}; 

答えて

1

を動作するはずです。

window.onload = function(){ 

var f = (function(){ 
    var xhr = []; 
    var files = ["f0.txt", "f1.txt", "f2.txt"]; 
    for (i = 0; i < 3; i++){ 
     (function (i){ 
      xhr[i] = new XMLHttpRequest(); 
      xhr[i].open("GET", files[i], true); 
      xhr[i].onreadystatechange = function() { 
       if (xhr[i].readyState == 4 && xhr[i].status == 200) { 
        //do stuff 
       } 
      }; 
      xhr[i].send(); 
     })(i); 
    } 
})(); 

}; 
+1

これはおそらく私の答えよりもうまくいくでしょう。私は彼がそれらの正確なファイル名を望まないかもしれないということをまとめませんでした; P –

0

このような何かは、単に配列にあなたのファイル名を入れ

// ... 
    for (i = 0; i < 3; i++){ 
     (function (i){ 
      xhr[i] = new XMLHttpRequest(); 
      xhr[i].open('GET', i.toString() + '.txt'); // <-- this line 
      xhr[i].onreadystatechange = function() { 
       if (xhr[i].readyState == 4 && xhr[i].status == 200) { 
// .... 
関連する問題