我有一些代码,每 3 秒使用 JQuery $post 将数据从“my_form”发布到服务器。一切正常,但有时可能是因为 Internet 连接速度较慢,当循环触发时,响应不会在 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;
});
});