我的应用使用Rails 5.1,每当我点击link_to
remote: true
时,我都会收到InvalidCrossOriginRequest
错误。关闭伪造保护后,应用程序最终向服务器发出完整的GET
请求并显示javascript。
以下是链接:
= link_to 'Example', example_url, remote: true
example.js.erb:
$('.example').html('alert("example message")');
路线:
scope :js, defaults: { format: :js } do
#### Example
get 'example', to: 'examples#example'
end
控制器:
def example
respond_to do |format|
format.html { redirect_to root_url, alert: 'Page not accessible' }
format.js
end
end
我在我的模板中包含了javascript:
= javascript_include_tag 'application', 'data-turbolinks-track': 'reload'
我添加了必要的js资产路径:
//= require_self
// jQuery
//= require jquery
//= require jquery_ujs
答案 0 :(得分:1)
您已在控制器中指定了respond_to
的格式:
respond_to do |format|
format.js
end
答案 1 :(得分:0)
问题原来是我正在运行的一段javascript:
e.stopPropagation();