5

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とコメントを取得するにはどうすればよいですか? 扱いやすい配列、配列として送信する方法はありますか...

4

2 に答える 2

5

serializeArray関数を使用して、データを正しく送信してください。

$.post(url,{
    data: $("#formC").serializeArray(),
    type: 'post'
})
于 2013-08-16T17:56:57.707 に答える
1

コントローラーで使用します。

$request = $this->get('request');
$data = $request->request->all();
于 2014-10-22T15:52:18.023 に答える