html - 使用 Symfony 渲染 Twig 并将其插入另一个 Twig
问题描述
我想做的是编写一个返回 html 的端点,然后使用 Jquery 将其插入另一个 html,如下所示:
我有一个带有按钮的页面,当我单击它时,一个 ajax 请求被发送到我的控制器,我希望该控制器呈现一个 Twig 模板,然后以 html 形式返回它,然后返回我完成的 ajax 函数,使用 jquery ,将该请求中的 html 值插入到具有特定 id 的 dom 元素中。
我试过的是这个
<div class="" id="result"></div>
这就是我发送请求的方式
$.ajax({
method: "POST",
url: "{{ path('my_controller') }}",
}).done(function (res) {
console.log("Res", res)
$("#result").html(res);
}).
这是我的控制器代码
public function renderAction () {
$params = [
"message" => "Lorem ipsum wea"
];
return $this->render('format.html.twig', $params);
}
format.html.twig
还没有什么特别的,它只是打印message
参数
它有点工作,但我的控制器给我发回一个错误树枝 html,上面写着
无法启动会话,因为第 0 行的“”已发送标头。
该错误页面插入到#result 元素所在的位置。
我究竟做错了什么?
解决方案
试试这个例子:
public function renderAction () {
$params = [
"message" => "Lorem ipsum wea"
];
$view = $this->renderView('format.html.twig', $params);
return new JsonResponse(array(
'msg' => 'a msg here if you want',
'view' => $view,
'success' => true,
));
}
// js
$("#result").html(res.view);
推荐阅读
- mysql - 如何将输出的数据插入到 mysql 的列中?
- python - 按周python迭代带有日期列的pd df
- r - dplyr/sparklyr "OR" 加入
- php - 如何搜索具有多个所需针的关联数组数组并返回索引?
- javascript - 光滑的滑块中心模式
- c# - 如何显示带有后台工作人员实际进度百分比的进度条?
- javascript - Angular如何通过传递属性名称来动态添加属性
- java - war文件如何在docker容器上的tomcat中创建目录
- vba - 如果值存在于数据验证列表中,则粘贴到数据验证中
- javascript - 警告:数组或迭代器中的每个孩子都应该有一个唯一的“key”道具。密钥已经存在