如何获取twig文件的内容

时间:2016-11-29 21:51:33

标签: symfony

这就是我想要做的事情

 public function editAction(Request $request, Uni $uni){
        $template = $this->forward('AppBundle:Uni:edit.html.twig')->getContent();

        $json = json_encode($template);
        $response = new Response($json, 200);
        $response->headers->set('Content-Type', 'application/json');
        return $response;
}

基本上,我正在尝试获取edit.html.twig文件的内容。不幸的是,我没有从edit.html.twig文件中获得预期的内容。我怎样才能获得这些内容?

edit.html.twig文件的位置位于testproject/app/Resources/uni/edit.html.twig

2 个答案:

答案 0 :(得分:2)

从控制器内部获取twig模板内容的最简单方法是使用renderView辅助方法。

您可以对代码进行的另一项改进是使用symfony的JsonResponse类来返回您的JSON。例如:

use Symfony\Component\HttpFoundation\JsonResponse;

public function editAction(Request $request, Uni $uni)
{
    $template = $this->renderView('AppBundle:Uni:edit.html.twig', [
        'uni' => $uni,
    ]);

    return new JsonResponse($template);
}

答案 1 :(得分:0)

您也可以直接使用$.ajax({ type: 'POST', async: false, url: '/clientarea/utils/record-time', data: 'teid=' + teid + '&t=' + t }); 助手:

render