javascript - Rails form_with ajax 回调不起作用

标签 javascript jquery ruby-on-rails ajax

我正在尝试使用最新的 form_with 发送 Ajax 帖子。

这就是我所做的。

<%= form_with url: comments_path, data: { type: :json } do |form| %>
  <%= form.text_area :context, class: "rt-textarea mg-b-10" %>
  <%= form.submit "Submit", class: "btn-m btn-blue, id: "comment-submit" %>
<% end >

<script type="text/javascript">
  jQuery(document).ready(function($) {
    $('#comment-submit').on('ajax:success', function(event, data) {
      console.log('GET RESPONSE!');
    });
  });
</script>

但是当我发送表单帖子时,控制台没有打印 GET RESPONSE!。 我检查了谷歌开发者控制台中的Network选项卡,它确实发回了JSON对象。有什么我想念的吗?

最佳答案

事实证明,我把 id 放在了错误的位置。

我应该将 id 放在 form_with 标记中,而不是 submit 标记中。

当我更改为这一行后,它工作得很好。

<%= form_with url: comments_path, data: { type: :json }, id: "add_comment" do |form| %>
....
<% end %>

关于javascript - Rails form_with ajax 回调不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50934949/

相关文章:

ruby-on-rails - 迁移后删除 Rails 模型

ruby-on-rails - 测试失败,ActionView::Template::Error: undefined method `name' for nil:NilClass

javascript - jQuery.extend(true, …) 的逆函数

javascript - Fancybox 的调用方法不同的问题

jquery - 使用 JQuery 压缩 HTML

jquery - 从 Zend Framework Controller 获取 Ajax 响应

javascript - 从页面中删除所有 Javascript 事件并将它们放回去

ruby-on-rails - Sidekiq Web UI 未加载或安装或生产中没有错误的东西

JavaScript 斐波那契方法

javascript - PapaParse 在读取 CSV 时返回 undefined