【问题标题】:Using Ajax with Rails 5 Beta在 Rails 5 Beta 中使用 Ajax
【发布时间】: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


    【解决方案1】:

    想通了,对于遇到此问题的任何人,您必须将文件扩展名从 .js 更改为 .js.erb

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-16
      • 2016-06-15
      • 2023-03-27
      • 1970-01-01
      • 2022-10-25
      • 2016-05-19
      相关资源
      最近更新 更多