Jquery - 在ajax错误上提交表单?

时间:2011-07-05 15:34:08

标签: jquery 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);
            $('#loginForm').submit();
        }
    });
});

1 个答案:

答案 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();
        }
    });
});