javascript - Rails 不显眼的 javascript (UJS) ajax :before append data params

标签 javascript jquery ruby-on-rails ajax ujs

我试图在通过 ajax(通过 Rails UJS)发送之前将一些参数附加到表单。

  $(document).on("ajax:before",".form-example", function(event) {
    event.data = $(":hidden").serialize();
  });

隐藏的输入不在表单中,所以我需要收集它们、序列化并将它们添加到请求(这是一个 PUT 请求)。但是,在上面的例子中,没有参数被传递给服务器,我做错了吗?如何将隐藏输入的序列化值传递给名为 "items" 的参数?

最佳答案

研究这个,实际上是可以做到的,但是你不使用事件,你修改表单本身(使用$(this))。

所以这样的事情可以工作:

$(document).on("ajax:before",".form-example", function() {
  var form = $(this);
  form.append($('<input />',{name: 'hidden_values',value: $(":hidden").serialize()}));
});

并且您应该能够使用 params[:hidden_​​values] 访问 rails 操作中的数据。

关于javascript - Rails 不显眼的 javascript (UJS) ajax :before append data params,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26081297/

相关文章:

javascript - 根据外部 CSV 数据创建动态网页

javascript - 如何在 WSO2 ESB 中创建全局变量 - 必须可更新

javascript - 什么是 waapi 有效的 css 属性

javascript - 按表列默认选择选项(使用 Javascript)

javascript - Jquery 正斜杠被标签内的空格取代

ruby-on-rails - 为什么 Rails 会为 HEAD 请求渲染模板?

ruby-on-rails - 从 has_many belongs_to 查询中排除当前对象

javascript - jqGrid - 将数据库记录嵌套属性设置为行 ID

ruby-on-rails - rails : How do I validate model based on parent's attributes?

javascript - 我如何使用 CodeIgniter 和 jquery 调用 SQL 查询并将其加载到 DATATABLE 插件?