如何使用 PHP post 形成序列化数据?

How to post form serialize data using PHP?

我有一个包含动态生成字段的表单。我需要 post 使用 .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);
        }     
    }); 
});

我需要 post 使用输入字段名称的所有数据。现在我得到了这样的所有结果:

   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

但是我想post用对应的名字

摆脱带有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'];