我尝试在通过ajax(通过Rails UJS)发送之前将一些参数附加到表单。
$(document).on("ajax:before",".form-example", function(event) {
event.data = $(":hidden").serialize();
});
隐藏的输入不在表单中,因此我需要收集它们,序列化并将它们添加到请求(这是PUT
请求)。但是,在上面的例子中,没有参数传递给服务器,我做错了什么?如何使用隐藏输入的序列化值传递名为"items"
的参数?
答案 0 :(得分:1)
调查一下,实际上可以这样做,但是你没有使用这个事件,你修改了表单本身(使用$(this)
)。
这样的事情可以起作用:
$(document).on("ajax:before",".form-example", function() {
var form = $(this);
form.append($('<input />',{name: 'hidden_values',value: $(":hidden").serialize()}));
});
您应该可以使用params[:hidden_values]
访问rails操作中的数据。