首页 > 解决方案 > 如何在 symfony 中反序列化查询序列化表单

问题描述

我正在尝试将我的序列化表单从 ajax 反序列化到我的 symfony 控制器,所以我使用了 $('#formID').serialize()

<form id="form_insert">
    <input type="text" name="data[id]" />
    <input type="text" name="data[users]" />
</form>

它适用于一个用户,但我需要像这样插入许多用户:

<form id="form_insert">
    <input type="text" name="data[id]" />
    <input type="text" name="data[users]" />
    <input type="text" name="data[users]" />
    <input type="text" name="data[users]" />
</form>

我的查询似乎很好:

data%users%5D=vinccent&data%users%5D=sebas&data%users%5D=mathieu&data%5Bid%5D=1

未序列化后:我得到了什么:

array (size=1)
  'data' => 
    array (size=28)
      'users' => string 'mathieu' (length=4) //last user ready inserted
      'id' => string '1' (length=1)

我需要的:

array (size=1)
  'data' => 
    array (size=28)
      'users' => 
           array => (size=2) 
              'vinccent' (length=8)
              'sebas'(length=5)
              'mathieu' (length=7) 
      'id' => string '1' (length=1)

标签: javascriptjqueryajaxsymfony

解决方案


我之前遇到过类似的问题,虽然我不知道它是否相同,但我会写这个来获取表单数据数组:

<form id="form_insert">
    <input type="text" name="data[id]" />
    <input type="text" name="data[users][]" />
    <input type="text" name="data[users][]" />
    <input type="text" name="data[users][]" />
</form>

似乎表单的用户值已分配给最后一个数据[用户],即mathieu


推荐阅读