如题,我在开发中,使用 Chrome 并使用 POST 方法提交的时候会出现“ActionController::InvalidAuthenticityToken”这样的错误,但是,同样的页,在 firefox 和 IE 上进行 POST 提交,所有的提交都能成功执行。这是什么原因引起的? 我现在使用的 Rails 版本是 5.1.4,希望可以得到回复。谢。
这几天我也遇到了类似的问题,这几天我调试 actioncable 发现了,我在 firefox 和 ie 提交都没有这个问题,在 chrome 上就有问题,最后我是修改 config/initializers/request_forgery_protection.rb 文件 Rails.application.config.action_controller.forgery_protection_origin_check = false 才可以
head 里加上 <%= csrf_meta_tags %>
form 里把 authenticity_token:$("meta[name='csrf-token']").attr("content") 传过去应该就好了
https://github.com/rails/rails/issues/28299 https://github.com/rails/rails/pull/30780
不知道是不是跟这个相关
会是同源策略的问题?好吧,我抓一下 chrome 的包和 firefox 比较一下吧。谢谢。