根据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,我希望处理提交操作。 怎么解决这个问题?
答案 0 :(得分:2)
您有一个无限循环,因为$("#submit").submit()
会触发提交event
。你想要的是提交表格而不触发事件。幸运的是,这只意味着在您的代码[0]
中添加3个字符。
$("#submit")[0].submit();