我正在使用 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/