Rails ненавязчивый Javascript (UJS) AJAX: до добавления параметров данных
Я пытаюсь добавить некоторые параметры в форму перед отправкой через ajax (через Rails UJS).
$(document).on("ajax:before",".form-example", function(event) {
event.data = $(":hidden").serialize();
});
Скрытые входные данные не находятся внутри формы, поэтому мне нужно собрать их, сериализовать и добавить их в запрос (который является PUT
запрос). Однако в приведенном выше примере параметры не передаются на сервер, я что-то не так делаю? Как я могу передать параметр называется "items"
с сериализованными значениями скрытых входов?
1 ответ
Глядя на это, на самом деле это можно сделать, но вы не используете событие, вы изменяете саму форму (используя $(this)
).
Так что-то вроде этого может работать:
$(document).on("ajax:before",".form-example", function() {
var form = $(this);
form.append($('<input />',{name: 'hidden_values',value: $(":hidden").serialize()}));
});
И вы должны быть в состоянии получить доступ к данным в вашем действии рельсов, используя params[:hidden_values]
,