「my_form」から3秒ごとにJQuery$postを使用してサーバーにデータを投稿するコードがあります。すべて正常に動作しますが、インターネット接続が遅いために、サイクルがトリガーされたときに3秒以内に応答がない場合があります。これはエラーになります。もちろん、遅延を3秒から6秒以上に増やすことはできますが、プロセスが遅くなります。応答を受け取った後にのみデータを投稿するようにコードを変更するにはどうすればよいですか?
$(document).ready(function() {
$("#my_form").submit(function() {
document.forms["my_form"]["submit"].disabled="true";
counter=0;
var post_data = function() {
$.post("formProcessor.php", $("#my_form").serialize(),
function(data) {
$("#formResponse").html(data);
txt = $("#formResponse").text();
...
//some code analyzing response
...
if (counter == 50){
clearInterval(nre);
return false;
};
changeFields(counter);
}
);
};
var nre=setInterval(post_data,3000);
return false;
});
});