У меня есть форма, которая содержит динамически сгенерированные поля. Мне нужно опубликовать форму с помощью .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
Но я хочу опубликовать с соответствующим именем.
Избавиться от объекта с 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'];
Других решений пока нет …