[英]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.