trのループでajaxを使用しようとしています。
これが私のコードです:
var i=0;
$("tr").each(function() {
var row = datastring;
console.log("I = " + i);
$.ajax({
type: 'POST',
url: 'somelinkgoeshere.com',
data: row,
success: function(){console.log("Success")},
error: function(){console.log("Error")}
});
i++;
});
期待される結果
したがって、console.logが次の順序でログを返す必要がある順序でイベントを発生させたいと思います。
- I = 0
- 成功またはエラー
- I = 1
- 成功またはエラー
実結果
しかし、コードを実行した後、console.logは次の順序でログを返します
- I = 0
- I = 1
- 成功またはエラー
- 成功またはエラー
つまり、各ループが完了した後にajax関数が呼び出されるということです。しかし、ajaxリクエストが競合しない限り、関数をループさせたくありません。
さらに説明が必要な場合はお知らせください。
ありがとう。