javascript - 如果出现任何 Ajax 错误,请提交表单

标签 javascript jquery ajax forms error-handling

如果出现任何 ajax 错误,如何让 ajax/jquery 提交表单?

我希望定期提交页面加载 php 验证来接管,以防出现任何 ajax 错误

如果我尝试将“validateform.php”替换为“xxxxtest.nothing”,则表单不会提交,并且 js 会抛出控制台错误“POST http://example.com/xxxxtest.nothing 404(未找到)”

$('#myform').submit(function(e) {

    var $theform = $(this);

    $.ajax({
    url: 'validateform.php',
    type: 'POST',
    cache: false,
    timeout: 5000,
    async: false,
    data: $theform.serialize(),
    success: function(data) {
        $('#errordiv').html('<p class="error">' + data + '</p>');
        $('#errordiv').slideDown();
    },
    error: function(e){
        return true; // form should be submitted
    }
    });

    return false;

});

最佳答案

jQuery ajax 函数是异步的,因此总是执行 return false。所以,相反:

error: function(e){
    $('#myform').unbind('submit').submit();
}

根据以下评论进行更新。

JSFiddle:http://jsfiddle.net/9Q2L2/

关于javascript - 如果出现任何 Ajax 错误,请提交表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24230110/

相关文章:

javascript - 如何在具有不同 ID 的多个 Select 元素上使用相同的 JavaScript 函数

javascript - 找不到 Mongoose 模式

javascript - 添加两个数组的元素 - 最好的方法

asp.net - DotNetNuke 7 - 将 ajax 控件添加到模块时编辑页面菜单不起作用

javascript - 如何在 ember.js 中调用不同 Controller 的方法?

javascript - 405 方法不允许 - 适用于除 iOS Safari 之外的所有内容

javascript - 添加可折叠的侧边栏

javascript - 带有自定义指令的动态 ngModel 和 ngBind

javascript - 将 View html 渲染为字符串

javascript - jQuery 类选择困惑