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
我想在不重新加载页面的情况下编辑我的 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