我正在尝试处理使用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);
}
不幸的是,这种绑定不起作用
答案 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())
{
...
}
}