Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery Ajax已提交表单,未触发回调_Jquery_Ruby On Rails_Ajax - Fatal编程技术网

Jquery 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

我有一个引导模式的表单,我用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:


请注意,我还尝试从$.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
                  }
          });
    });