データを取得するためにAjaxコールを作成しています.4行あり、toSendEmail()メソッドを使用して電子メールを送信しています。forループAjax呼び出しのための私のIDは、ここでは...(私はアヤックスのURLを作成するために、IDを使用しています)アレイに格納されているため、そのためのコードは次のとおりです。Ajaxの呼び出し後に電子メールが複数回送信されています
function getData() {
console.log("Total Element:"+someIds.length); // 4 data
for (var i=0; i< someIds.length;i++) {
$.ajax({
url: '/SomeURL/' someIds[i];
// Basic Ajax Coding (type, cache etc......)
success: function (result1) {
for(var i=0; i<result1.length; i++) {
// Storing data in Predefined arrays..
}
},
error: function (error) {
alert("Errror while.....");
}
}).done(function() {
if(SomeData.length!=0) {
toSendEmail();
};
});
}
}
私のAJAX呼び出しは、予想通り、私はデータを取得しています正常に動作します。..私の問題は、電子メールが4回送信されていることです。私は電子メール機能が一度だけ呼び出す必要があります。私は自分のコードを変更する必要がありますか?
は今あなた
私はAjaxの呼び出しがforループ内で実行したい電子メールを送信配列によって –
私は今(あなたのAjax呼び出しが電子メールの送信原因となっていると思っていた)ことを認識し、私の答えを修正しました。申し訳ありません –
データを収集して別の配列に格納するための成功関数を配列に持っています...しかし、私の投稿に表示されたforループはURLの配列からIDを渡します.. –