Jquery Ajax已提交表单,未触发回调
我有一个引导模式的表单,我用Ajax提交。到目前为止,一切都很好,表单已经提交,数据保存在数据库中。但是,在此之后,不会触发回调函数,也不会触发完整、成功或错误的回调函数。我真的很难明白这是从哪里来的 控制器:Jquery Ajax已提交表单,未触发回调,jquery,ruby-on-rails,ajax,Jquery,Ruby On Rails,Ajax,我有一个引导模式的表单,我用Ajax提交。到目前为止,一切都很好,表单已经提交,数据保存在数据库中。但是,在此之后,不会触发回调函数,也不会触发完整、成功或错误的回调函数。我真的很难明白这是从哪里来的 控制器: def create @param = EventParam.new(event_param_params) respond_to do |format| if @param.save format.json { render json: @param } else
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:
请注意,我还尝试从$.ajax()使用回调success/complete,但没有结果 您可以在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
}
});
});
它应该是
format.js
而不是format.json
,您确实是通过javascript发送的。我做了改变,但什么也没做。正如我说过的,我试过了,我从那开始,但没有成功。真奇怪,哈哈。
$(".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
}
});
});