简体   繁体   English

AJAX response_to没有崩溃

[英]AJAX respond_to is not wroking

I'm trying to use javascript with AJAX in Rails, but is not working. 我正在尝试在Rails中将javascript与AJAX一起使用,但无法正常工作。

The login.hmtl.erb file: login.hmtl.erb文件:

<%= form_for :web_app, :html => { :id => 'login_form' } , :url => {:action => 'authentication'}, :remote => true  do |f| %>

The web_app_controller.rb action: web_app_controller.rb操作:

  def authentication
    respond_to do |format|
      format.js
    end
  end

The authentication.js.erb file authentication.js.erb文件

console.log("hi");

I get this error: 我收到此错误:

ActionController::UnknownFormat

I have done this before and worked fine, but don't know why I can't make it work. 我之前已经做过并且工作正常,但是不知道为什么我不能使它工作。 I do not know what I'm missing. 我不知道我在想什么。

Update 更新资料

log: 日志:

Started GET "/login" for 127.0.0.1 at 2017-11-21 03:05:14 -0300 Processing by WebAppController#login as HTML Rendering web_app/login.html.erb within layouts/application Rendered web_app/login.html.erb within layouts/application (15.1ms) Completed 200 OK in 77ms (Views: 73.2ms | ActiveRecord: 0.0ms) 在2017-11-21 03:05:14 -0300开始以127.0.0.1的GET“ / login”进行处理,由WebAppController#login作为HTML渲染在布局/应用程序中渲染web_app / login.html.erb渲染了web_app / login.html.erb在布局/应用程序内(15.1ms)在77ms内完成200 OK(查看:73.2ms | ActiveRecord:0.0ms)

Started POST "/login" for 127.0.0.1 at 2017-11-21 03:05:43 -0300 Processing by WebAppController#authentication as HTML Parameters: {"utf8"=>"✓", "authenticity_token"=>"sFdGP449Z0Av5eMUPFYOAB/zvTAFViOoDcjFIfXWwu8/oj0iCpnN6fznk6f5AhQU7LSub+cvW2MWtMTD7SwgWA==", "web_app"=>{"code"=>"AQBIzFfceuIFFFsepBU2qzZfbY4nefzDLJFHQk8ZQ0rfp8mdBQHW4PLtWA_558Iro6HJiAKmN7_WI4aioLB96g42K-LPEHjbHJXnKUT_-KOxTHPsgfWXjx0m6yvuIF64Fd3KQTIgvX7AU3y4ibgnQVJFme6omcNl6sBCbxerDav6T3t6dEGYin8f8I0ewbAEvcLpu2u08ZtNH6RbPEo93rZVmAoc9Zu4TsDTSQ_R0-CQah72ZBaIr9bU3MesjuiXqRNj8dxWIrUnUlfE0rCo5gBK", "csrf"=>"abcd"}} Completed 406 Not Acceptable in 3ms (ActiveRecord: 0.0ms) 在2017-11-21 03:05:43 -0300由WebAppController#authentication作为HTML参数处理的127.0.0.1开始发布POST“ /登录”:{“ utf8” =>“✓”,“ authenticity_token” =>“ sFdGP449Z0Av5eMUPFYOAB / zvTAFViOoDcjFIfXWwu8 / oj0iCpnN6fznk6f5AhQU7LSub + cvW2MWtMTD7SwgWA ==”, “web_app”=> { “代码”=> “AQBIzFfceuIFFFsepBU2qzZfbY4nefzDLJFHQk8ZQ0rfp8mdBQHW4PLtWA_558Iro6HJiAKmN7_WI4aioLB96g42K-LPEHjbHJXnKUT_-KOxTHPsgfWXjx0m6yvuIF64Fd3KQTIgvX7AU3y4ibgnQVJFme6omcNl6sBCbxerDav6T3t6dEGYin8f8I0ewbAEvcLpu2u08ZtNH6RbPEo93rZVmAoc9Zu4TsDTSQ_R0-CQah72ZBaIr9bU3MesjuiXqRNj8dxWIrUnUlfE0rCo5gBK”, “CSRF”=> “ABCD”}}完成406不可接受在3ms的(ActiveRecord的:0.0女士)

ActionController::UnknownFormat (ActionController::UnknownFormat): ActionController :: UnknownFormat(ActionController :: UnknownFormat):

In your web_app_controller.rb 在您的web_app_controller.rb中

Add this line after controller class declaration. 在控制器类声明之后添加此行。

respond_to :js, only: [:authentication]

Remove respond_to block from authentication method. 从身份验证方法中删除response_to块。 Then resubmit request. 然后重新提交请求。 Check browser console to see log. 检查浏览器控制台以查看日志。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM