我在bootstrap模式中有一个表单,我用Ajax提交。到目前为止,一切都很好,表单已提交,数据保存在数据库中。但是,在此之后,不会触发任何回调函数,也不会触发完成,成功和错误。我真的很难看出它来自哪里。
控制器:
def create
@param = EventParam.new(event_param_params)
respond_to do |format|
if @param.save
format.json { render json: @param }
else
format.html { render :new }
format.json { render json: @mail_template.errors, status: :unprocessable_entity }
end
end
端
JS:
$(".event-param-form").submit(function(e){
e.preventDefault();
var valuesToSubmit = $(this).serialize();
$.ajax({
type: "POST",
url: $(this).attr('action'),
data: valuesToSubmit,
dataType: "JSON",
});
});
$('.event-param-form').bind('ajax:complete', function() {
console.log("test");
$("#myModal").modal('hide');
});
请注意,我还尝试使用$ .ajax()中的回调成功/完成而没有结果。
答案 0 :(得分:1)
您可以在ajax本身使用success方法
$(".event-param-form").submit(function(e){
e.preventDefault();
var valuesToSubmit = $(this).serialize();
$.ajax({
type: "POST",
url: $(this).attr('action'),
data: valuesToSubmit,
dataType: "JSON",
success : function(data){
//Success Call back
console.log(data);
alert('success');
$("#myModal").modal('hide');
},
error :function(jqXHR, textStatus, errorThrown) {
// Error Callback
}
});
});