return 表单视图由 ajax Symfony2

return form view by ajax Symfony2

我想在不重新加载页面的情况下编辑我的 post。我创建了操作,我通过 ajax 发送请求以获取评论表单视图,但出现错误:

Catchable Fatal Error: Object of class Symfony\Component\Form\FormView could not be converted to string

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

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

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

    return $form->createView();
}

但这行不通,因为 createView returns 一个可以在 twig 模板中使用以轻松构建视图的对象。

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

{# form.html.twig #}
{{ form(form) }}

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

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

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

当然可以自定义表单渲染等

更多详情,您可以查看Symfony form documentation