【发布时间】:2016-03-19 15:55:54
【问题描述】:
最近,我想将我正在开发的应用程序更新到 Rails 5。该应用程序在 Rails 4.2.4 中正常运行。我经历了更新过程,一切似乎都很好。我必须更新/删除一些宝石才能完成更新,因为某些宝石不起作用。现在,唯一不起作用的是 Ajax。我试过使用响应者宝石。但这仍然没有呈现我的 Ajax 调用。使用响应器 gem,它表示它呈现相应的 find_group.js 文件。但不执行文件中的任何代码。 .如果有人知道如何在 Rails 5 Beta3 中成功使用 Ajax。我将不胜感激。谢谢
相关代码: 用户控制器
def find_group
@group = Group.find(params[:id])
respond_to do |format|
format.json
format.js { render "users/find_group" }
end
end
routes.rb
match '/users/find_group', to: "users#find_group", via: "post"
在ajax触发后查看对应的javascript代码
$.ajax({
url: 'find_group',
type: "post",
data: {id: this.id},
dataType: 'script'
});
find_group.js
$("#group").html("<%= escape_javascript (render("group")) %>");
在这个文件中,没有任何代码被执行。我什至发出警报来检查。这就是一切都变得混乱的地方。
这是控制台输出,以防有人感兴趣
Rendered users/find_group.js (0.5ms)
Completed 200 OK in 4827ms (Views: 8.6ms | ActiveRecord: 2.0ms)
另外,firebug 控制台出现错误:
SyntaxError: JSON.parse: unexpected character at line 1 column 1 of the JSON data
var errors = JSON.parse(xhr.responseText);
【问题讨论】:
标签: ruby-on-rails ajax ruby-on-rails-5