我有一个项目的视图。当我在ProjectController中对方法 showProjects()进行Ajax调用时,我会得到一个json feed,其中包含每个项目的模板数组。
实际上,我尝试了,但是我得到一个包含请求对象的json feed,而不是模板。我不想为每个项目显示一个模板,因为我想在js中处理它们。
#ProjectController.php
public function showProjects() {
$em = $this->getDoctrine()->getEntityManager();
$projects = $em->getRepository('BtaskBoardBundle:Project')->findAll();
if (!$projects) {
throw new NotFoundHttpException();
}
$projects_template = array();
foreach ($projects as $project) {
$projects_template[] = $this->render('MyBundle::project.html.twig', array(
'project' => $project,
));
}
return new Response(json_encode($projects_template), 200);
}
#project.html.twig
<a class="project" data-id="{{ project.id }}" href="#">{{ project.name }}</a>
怎么了?
提前致谢。
答案 0 :(得分:1)
您获得的响应对象应该使用getContent()
方法。有关详细信息,请查看documentation中的Symfony\Component\HttpFoundation\Response
课程。你应该能够这样做:
foreach ($projects as $project) {
$projects_template[] = $this->render('MyBundle::project.html.twig', array(
'project' => $project,
))->getContent();
}