ajax请求每秒返回10个响应

根据ajax返回的内容(1或0),我希望是否处理提交操作:

$(document).ready(function(){ $("#submit").submit(function(e){ e.preventDefault(); var username = $("#username").val(); if(username){ $.ajax({ url: 'checkinput.php', data: {data: JSON.stringify(username)}, type: 'POST', dataType: "json", success: function (data) { if(data.result == 0) { alertify.log( data.error ); // diplay error } if(data.result == 1) { $("#submit").submit(); // process submit-action => send data to php etc.. } } }); } else { alertify.log( "forgotten something" ); } }); }); 

如果从php脚本返回的结果为0,则显示错误消息并且页面未刷新(GREAT)<=它应该是这样的。

如果Ajax返回1,我希望处理提交操作,因此可以将数据发送到php。 但是会发生什么:

Ajax每秒发送10个响应(可能是因为我在if子句中调用的函数?)如果返回的结果为1,我希望处理提交动作。 怎么解决这个?

你有一个无限循环因为$("#submit").submit()触发了submit event 。 你想要的是提交表格而不触发事件。 幸运的是,这只意味着在代码中添加3个字符, [0]

 $("#submit")[0].submit();