2017-12-20 7 views
-1

ループ内で複数のajax呼び出しを呼び出そうとしています。複数のajax呼び出しでデータを処理する方法

私は、各リクエストを完了した後、ajaxコールリクエストデータを保存しました。

私の場合、すべての応答に最終的な要求データを格納します。

これは、私は、それぞれの応じて、各postdata1値を保存するにはどうすればよい私のコード

for (var postdata in response) { 
    postdata1 = JSON.stringify(response[postdata]); 
    var part1 = "<div class='col-md-4'><div class='thumbnail'><img src='"; 
    var part2 = "' alt='Visualize Image' style='width:100%'> <div class='caption'><a href='#' class='btn btn-info btn-lg' data='" + postdata1 + "'><span class='glyphicon glyphicon-heart'></span> Like </a></div></div></div>"; 
    $.ajax({ 
     type: "POST", 
     url: URL, 
     crossDomain: true, 
     data: postdata1, 

     success: function (dataString) { 

      $(".loader").css('display', 'none'); 

      var source = 'data:image/png;base64,' + dataString; 

      console.log(postdata); 

      $(".row").append(part1 + source + part2); 

     } 

    }); 
} 

のですか?

ありがとうございます。

+0

「それぞれのpostdata1の値をそれぞれのレスポンスに保存するにはどうすればよいですか?応答変数は1つしか変更されません。 – xRahul

+0

レスポンスデータと共にリクエスト入力[postdata1]を保存したかったのです。 –

+0

その場合、@Sniper Wolfの下の答えは正しいです – xRahul

答えて

2

私はあなたが保存したい何をすべきか理解している場合、私はわからないんだけど、多分あなたは前にループを配列を作成することができますし、jQueryのAJAXに内部ようなsuccessルーチンデータをプッシュ:

var ajaxResults = []; 
for (var postdata in response) { 
    postdata1 = JSON.stringify(response[postdata]); 

    // ... 

    $.ajax({ 
     // ... 

     success: function (dataString) { 
      // ... 
      ajaxResults.push({ 
       "postdata1": postdata1, 
       "dataString": dataString 
      }); 
     } 
    }); 
} 

非同期イベントには注意してください。 ajaxResultsが一貫して完全であることを確認するために、最後の ajaxコールの最後にイベントをトリガーすることをお勧めします。

問題の解決方法だと思われる場合は、この回答を受け入れることができます。 Hereあなたはどのように読むことができますか?

+0

それは動作しません。 –

関連する問題