ruby-on-rails - Rails Ajax 错误 : "Turbolinks is not defined"

标签 ruby-on-rails ajax turbolinks

我正在使用 Rails 4.2,我想向我的服务器发送一个 ajax 请求。但请求总是失败并显示错误 Turbolinks is not defined。我的 Rails 控制台返回 200 ok 响应。 我正在使用 'jquery-turbolinks' gem 。

提前致谢!

Ajax

$.ajax({
  type: "PUT",
  url: "http://localhost:3000",
  data: xx,
  success: function(data){
     alert("success");
  },
  error: function(XMLHttpRequest, textStatus, errorThrown) {
       alert("some error");
  }
});

Controller

  def upvote
     # code here
     @vote.save
     respond_to do |format|
       format.html { redirect_to :back }
       format.json { head :ok }
       format.js { head :ok }
     end
   end

最佳答案

在 application.js 中,您是否需要 jquery 和 turbolinks 之间的 jquery.turbolinks,如下所示?

//= require jquery
//= require jquery.turbolinks
//= require jquery_ujs
//= require masonry/jquery.masonry
//= require turbolinks
//= require_tree .

如果您的 turbolinks 版本是 5,jquery-turbolinks gem 不支持 turbolinks 5。 因此,目前,您必须添加 JS 以实现兼容性引用 this issue (参见 Lowryderch 的评论)。 将 turbolinks-compatibility.coffee 放在 app/assets/javascripts/文件夹下。

关于ruby-on-rails - Rails Ajax 错误 : "Turbolinks is not defined",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40075356/

相关文章:

javascript - 有没有办法让 div 像 iframe 一样工作?

javascript - $( 文档 ).on ('turbolinks:load' , function() { 不起作用

javascript - 有时 javascript 运行完美,有时不在 ruby​​ on rails 4

javascript - 如何在控制台调试返回的AJAX数据?

jquery - Ruby on Rails : jQuery datepicker only works when refresh page

ruby-on-rails - 哪些 Rails 文件首先通过 ERB 解析?

ruby-on-rails - Rails : All examples were filtered out - 0 examples, 0 次失败

ruby-on-rails - 解释 Rake 查询创建 csv

ruby-on-rails - Rails --api 不起作用

javascript - 在 AJAX 中的表单元格上添加带有参数的 @url.action