我已经成功创建了一个无限循环。有人可以告诉我如何重写这个,这样如果ajax请求失败,表单就会被提交,所以服务器端验证可以处理它。
$('form#loginForm').submit(function(evt) {
evt.preventDefault();
// We rely on HTML5 validation for the validation - this checks if the account is valid.
$.ajax({
type: "POST",
url: "some.php",
error: function(msg) {
alert(1);
$('#loginForm').submit();
}
});
});
答案 0 :(得分:6)
从您的代码中,当您在错误函数中调用submit时,您正在调用与执行ajax调用相同的函数。如果您只想在不执行该ajax调用的情况下提交表单,则需要重新绑定提交函数;
$('form#loginForm').submit(function(evt) {
evt.preventDefault();
// We rely on HTML5 validation for the validation - this checks if the account is valid.
$.ajax({
type: "POST",
url: "some.php",
error: function(msg) {
alert(1);
//rebind submit function to not do ajax call
$('#loginForm').submit(new function(){return true;});
//then call submit
$('#loginForm').submit();
}
});
});