在提交表格后将发出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);
}
});
}
答案 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调用成功的数据。
感谢所有让我知道我的方法的问题。