php - 如何将 Twig 呈现的模板作为 JSON 响应的一部分返回?

标签 php json symfony twig

我想返回一个 HTML 片段以及 json 字符串中的其他值,这就是我所拥有的:

$html = $this->render('sometemplate.html.twig', array( 'somevar' => $somevar ) );
$response = new Response(json_encode( array("html" => $html, "name" => "Joe Bloggs") ));
$response->headers->set('Content-Type', 'application/json');
return $response;

但我得到的只是 {"html":{"headers":{}}}。有没有办法只抓取呈现的 HTML?

最佳答案

使用 $this->renderView() 代替。

$this->render() 返回一个 Response 对象,而 $this->renderView() 返回一个由渲染产生的字符串一个模板。

关于php - 如何将 Twig 呈现的模板作为 JSON 响应的一部分返回?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13257156/

相关文章:

php - 如何计算一个非常大的字符串中的新行?

json - 使用 extjs 存储复杂的嵌套 json 循环

php - Symfony 3.4 功能测试

php - 在 PostPersist、PostUpdate 事件中保留对象

php - 数据库未正确存储希腊字符

php - 如何使用 php 将我的 php 页面导出为 PDF?

PHP 登录,目前在我的数据库中看不到用户,即使登录是正确的。

具有空值的 json_array_elements

json - 从 spring boot 以 angular 4 发布上传文件?

php - Symfony 串行器组件 : Deserialize array of objects of mixed types