Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Symfony-Ajax表单验证-额外数据_Php_Jquery_Ajax_Forms_Symfony - Fatal编程技术网

Php Symfony-Ajax表单验证-额外数据

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

我需要从Symfony表单发送一个带有Ajax调用的数据,其中包含控制器选项的额外数据

我正在开发一个自定义框架,包括Symfony表单组件

因此,我尝试在我的JS中发送如下值:

$.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']?我使用请求正确地获取了数据。问题是表单未经验证。。。看起来它无法将表单的字段与请求中发送的字段相关联。