我正在尝试弄清楚如何从提交表单的serialized
字符串中获取数据。
$(document).ready(function() {
$("#formC").on('submit', function(e) {
var url = $(this).attr("action");
e.preventDefault();
$.post(url,{
data: $("#formC").serialize(),
type: 'post'
}).done(function(data) {
alert(data);
});
});
形式:
<form action="{{ path('advd_p_group_ps_rd_ss') }}" method="post" {{ form_enctype(formBase) }} id="formC">
<thead>
<tr>
<th><input type="checkbox" id="selectall"></th>
<th>{{ 'general.date'|trans }}</th>
<th>{{ 'general.order_number'|trans }}</th>
<th>{{ 'general.description'|trans }}</th>
<th>{{ 'general.company_name'|trans }}</th>
<th>{{ 'general.name'|trans }}</th>
<th>{{ 'form.status'|trans }}</th>
</tr>
</thead>
{% for details in details %}
<tbody>
<tr>
<td><div align="center"><input type="checkbox" class="selectedId" name="selectedId" value="{{details.id}}" onclick="javascript:resetSelectAll();" /></div></td>
<td>{{ details.date | date("m/d/Y") }}</td>
<td>{{ details.order_number }}</td>
<td>{{ details.description }}</td>
<td>{{ details.company }}</td>
<td>{{ details.name }}</td>
<td>{{ details.status }}</td>
</tr>
</tbody>
{% endfor %}
</table>
</div>
</div>
{% if info == 1 %}
<div id="information">
<div id="tableContent">
{{ form_widget(form) }}
<input class="input_button" type="submit" value="Procesar" id="procesar" />
</form>
控制器:
public function groupBatchPrizesRequestedAction(Request $request){
if ( $request->getMethod() == 'POST' ) {
$data = $request->get('data');
}
我die($data)
时的输出是这样的:
selectedId=23&selectedId=25&requested%5Bstatus%5D=11&requested%5Bcomments%5D=sdsds&requested%5B_token%5D=e40bc826cce8b756ecce002181301e951e588028
我的问题是,如何获取所有“selectedId
”,requested_status
及其评论?有没有办法将它作为一个数组发送,一个数组更容易处理......
答案 0 :(得分:3)
使用serializeArray功能正确提交您的数据。
$.post(url,{
data: $("#formC").serializeArray(),
type: 'post'
})
答案 1 :(得分:0)
在您的控制器中使用:
$request = $this->get('request');
$data = $request->request->all();