由ajax Symfony2返回表单视图

时间:2015-01-28 10:21:42

标签: php ajax forms symfony

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

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

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

1 个答案:

答案 0 :(得分:5)

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

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

    return $form->createView();
}

但是,由于createView返回了一个可以在树枝模板中使用以轻松构建视图的对象,因此无法工作。

您应该创建一个简单的树枝模板,将$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