表单提交后是否可以启动ajax调用?

时间:2016-08-03 11:37:50

标签: javascript jquery

在提交表格后将发出ajax邮寄请求。

我想在提交表格后致电ajax帖子。

但是在表单提交之前发出了ajax调用,我是否需要延迟ajax调用?表格提交后如何做到这一点?

提交表单我正在调用添加功能来保存数据

$("#section-form").submit(function (e) {


    save_class_info();

});

function save_class_info() {

   var  action = 'saveclassinfo';


    var campus_info = {
        'campus_name': campus_name,
        'shift_name': shift_name,
        'medium_name': medium_name,
        'class_name': class_id,
        'teacher_id': teacher_id,
        'edit': 'false'
    };

    $.ajax({
        url: "/" + root + "/" + controller + "/" + action,
        type: "post",
        data: campus_info,
        success: function (response) {

            console.log('done');
        },
        error: function (jqXHR, textStatus, errorThrown) {
            console.log(textStatus, errorThrown);
        }


    });
}

3 个答案:

答案 0 :(得分:1)

您需要使用preventDefault禁用默认表单提交行为:

$("#section-form").submit(function (e) {
    e.preventDefault();
    save_class_info();
});

答案 1 :(得分:0)

尝试阻止表单提交。

$("#section-form").submit(function (e) {
    e.preventDefault();
    e.stopPropagation();
    save_class_info();
});

答案 2 :(得分:0)

这是我的错误。在表单提交期间,我无法发出ajax调用,因为该页面将在提交表单后刷新。所以我通过另一个ajax调用完成了表单的提交,在那次调用之后,我发布了另一个ajax帖子,因为我需要第一次ajax调用成功的数据。

感谢所有让我知道我的方法的问题。