Rails`remote:true`没有发出AJAX请求

时间:2017-06-20 12:48:21

标签: javascript jquery ruby-on-rails ajax ruby-on-rails-5

我的应用使用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

2 个答案:

答案 0 :(得分:1)

您已在控制器中指定了respond_to的格式:

respond_to do |format|
  format.js
end

答案 1 :(得分:0)

问题原来是我正在运行的一段javascript:

e.stopPropagation();