Jquery Rails远程表单未触发ajax:success处理程序

Jquery Rails远程表单未触发ajax:success处理程序,jquery,ruby-on-rails,ajax,forms,Jquery,Ruby On Rails,Ajax,Forms,以下是我对表单的看法: #popupBox %h1 Change Password %p Update password for user: #{@user.email}. #formHolder = simple_form_for @user, url: update_password_user_path, html: { class: 'remote-form' }, remote: true do |f| = f.input :password, requi

以下是我对表单的看法:

#popupBox
  %h1 Change Password
  %p Update password for user: #{@user.email}.
  #formHolder
    = simple_form_for @user, url: update_password_user_path, html: { class: 'remote-form' }, remote: true do |f|
      = f.input :password, required: true

      = f.button :submit, 'Update Password'
以下是控制器代码:

def update_password
  @user = User.find(params[:id])
  if @user.update(update_password_params)
    render layout: false # This shows a nice "Completed" message for the user.
  else
    render action: 'edit_password', layout: false
  end
end
和我的javascript代码:

$(document).ready ->
  $("form.remote-form").on("ajax:success", (e, data, status, xhr) ->
    console.log("Working")
    $("form.remote-form").append xhr.responseText
  ).on "ajax:error", (e, xhr, status, error) ->
    console.log("Not working")
    $("form.remote-form").append "<p>ERROR</p>"
$(文档).ready->
$(“form.remote form”)。在(“ajax:success”上,(e,数据,状态,xhr)->
控制台日志(“工作”)
$(“form.remote form”).append xhr.responseText
).on“ajax:error”(e,xhr,status,error)->
console.log(“不工作”)
$(“form.remote form”).append“错误

当我提交表单时,会触发一个AJAX post(在我的开发工具中可以看到),但不会触发任何console.log调用


如何检测何时通过AJAX提交表单,并将来自控制器代码的结果放入dom中的表单位置?

在控件中添加json响应:

  def update_password
    @user = User.find(params[:id])

    respond_to do |format|
      if @user.update(update_password_params)
        format.json { render json: @user, status: :updated }
      else
        format.json { render json: @user.errors, status: :unprocessable_entity }
      end
    end
  end

您必须尝试此
ajax:error
事件来捕获错误,可能您会在那里找到一些线索。@ParitoshPiplewar:抱歉,我不确定粘贴的代码为什么会损坏。我用实际的代码更新了问题。但我不想返回JSON,我想返回HTML,然后将其
附加到HTML dom中。您也可以将JSON附加到任何需要的输入中,但发送的数据较少,例如:希望它有帮助