Symfony2处理用ajax发送的jQuery序列化表单

时间:2014-03-27 12:19:14

标签: jquery ajax forms symfony symfony-forms

我正在尝试处理使用ajax发送的表单 这是我的ajax邮政编码:

     $.post("{{ path('order_ad_banner') }}",
        {form: $('#adOrderForm').serialize(), url: "{{ url }}"},
        function (data) {
            $('#formWindow').html(data);
        }
    );

这里是我的请求处理:

$receivedForm = $request->request->get('form', null);
...
$form = $this->createForm(new OrderType(), $order);
if($receivedForm) {
    $form->submit($receivedForm);
}

不幸的是,这种绑定不起作用

3 个答案:

答案 0 :(得分:1)

试试这个

$receivedForm = $request->request->get('adOrderForm', null);
...
$form = $this->createForm(new OrderType(), $order);
if($receivedForm) {
    $form->submit($receivedForm);
}

答案 1 :(得分:0)

找到了我自己的解决方案:

$.post("{{ path('order_ad_banner') }}",
        $('#adOrderForm').serialize() + "&" + $.param({url: "{{ url }}"}),
        function (data) {
            $('#formWindow').html(data);
        }
);

$receivedForm = $request->request->get('adOrder', null);

答案 2 :(得分:0)

有一些更简单的解决方案。

做这样的事情:

$.ajax({
        type: "POST",
        url: route,
        data: $('#adOrderForm').serialize(),
        success: function (data)
        {

        }
 });

在symfony控制器中:

public function someAction(Request $request)
{
    ...
    $form = $this->createForm(new OrderType(), $order);
    $form->handleRequest($request);
    if($form->isSubmitted() && $form->isValid()) 
    {
         ...
    }
}
相关问题