Php Symfony-Ajax表单验证-额外数据
我需要从Symfony表单发送一个带有Ajax调用的数据,其中包含控制器选项的额外数据 我正在开发一个自定义框架,包括Symfony表单组件 因此,我尝试在我的JS中发送如下值:Php Symfony-Ajax表单验证-额外数据,php,jquery,ajax,forms,symfony,Php,Jquery,Ajax,Forms,Symfony,我需要从Symfony表单发送一个带有Ajax调用的数据,其中包含控制器选项的额外数据 我正在开发一个自定义框架,包括Symfony表单组件 因此,我尝试在我的JS中发送如下值: $.ajax ( { type: "POST", url: '/myUrl', data: { 'formData' : $(this).serialize(), 'extraData' : {'t
$.ajax
(
{
type: "POST",
url: '/myUrl',
data:
{
'formData' : $(this).serialize(),
'extraData' : {'test1' : 'test1', 'test2' : 'test2'}
},
success: function(result)
{
// do something
}
}
);
如何在控制器中获取表单数据以使组件正确理解它?此代码不起作用:
$formData = $this->getRequest()->request('formData');
$form->bind($formData);
多谢各位。我希望我的问题足够清楚
编辑:我最终将数据集成到表单中的隐藏字段中。表单没有声明任何数据类,因为我们使用的ORM是一个真正定制的ORM。感谢您的回答尝试$form->提交$formData
如果表单具有数据类选项,则不能直接用额外的值绑定/处理请求 表单需要已在表单类型上定义的变量 像这样使用它:
if($request->isXmlHttpRequest()) {
$form->handleRequest($request);
if($form->isValid()) {
// To get extra data;
$extra_data = $request->request->get('extraData');
}
}
为什么不$form->bind$_POST['formData']?我使用请求正确地获取了数据。问题是表单未经验证。。。看起来它无法将表单的字段与请求中发送的字段相关联。