由ajax Symfony2返回表单视图

now*_*iko 1 php forms ajax symfony

我想编辑我的帖子而不重新加载页面.我创建动作,我通过ajax发送请求以获取评论表单视图,但是我收到错误:

Catchable Fatal Error: Object of class Symfony\Component\Form\FormView could not be converted to string
Run Code Online (Sandbox Code Playgroud)

我如何通过ajax获取表单视图?谢谢!

Gré*_*mer 5

由于你的错误是非常明确的,我会假设你以这种方式返回你的表单:(如果你可以粘贴你的控制器,那就太好了).

function yourFormRenderingAction(...){
   $form = ... //creating your form

    return $form->createView();
}
Run Code Online (Sandbox Code Playgroud)

但是这不起作用,因为createView返回一个可以在树枝模板中使用的对象,以便轻松构建视图.

您应该创建一个简单的树枝模板,$form作为参数:

{# form.html.twig #}
{{ form(form) }}
Run Code Online (Sandbox Code Playgroud)

您的控制器最终必须如下所示:

function yourFormRenderingAction(...){
   $form = ... //creating your form

    return  $this->render('PATH_TO_TWIG:form.html.twig', array(
        'form' => $form->createView(),
    ));
}
Run Code Online (Sandbox Code Playgroud)

当然,您可以自定义表单呈现等.

有关更多详细信息,您可以查看Symfony表单文档