Как опубликовать форму сериализации данных с помощью PHP?

У меня есть форма, которая содержит динамически сгенерированные поля. Мне нужно опубликовать форму с помощью .serialize ().

Ajax

$("#save").click(function () {
formData = $('#myForm').serialize();
$.ajax({
type:"POST",
url: base_url +'home/save',
data: {
formData:formData,
csrf_test_name: csrf_token
},
success: function(response){
console.log(response);
alert(response);
}
});
});

Мне нужно опубликовать все данные, используя имя поля ввода. Теперь я получил такой результат:

   echo $fomdata=$this->input->post('formData');

выход

room_count_new=5&room_id=1&bedcount_1_1=1&extra_age_1_1_1=middle&extra_age_1_1_2=0&bedcount_1_2=0

Но я хочу опубликовать с соответствующим именем.

1

Решение

Избавиться от объекта с formdata свойство и только отправить сериализованную строку и добавить csrf до конца или добавьте csrf в форму в качестве скрытого ввода и дайте ему сериализоваться также в serialize()

$("#save").click(function() {
var formData = $('#myForm').serialize();
formData += '&csrf_test_name=' + csrf_token

$.ajax({
type: "POST",
url: base_url + 'home/save',
data: formData,
success: function(response) {
console.log(response);
alert(response)
}
});
});

Затем в php доступ к тем же именам, что и в форме.

$fomdata=$this->input->post();

$roomCount = $fomdata['room_count_new'];
$csrfToken = $fomdata['csrf_test_name'];
2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]