Html 渲染细枝并使用Symfony将其插入另一个细枝中
我试图做的是编写一个返回html的端点,然后使用Jquery将其插入到另一个html中,如下所示: 我有一个有按钮的页面,当我点击它时,一个ajax请求被发送到我的控制器,我希望该控制器呈现一个细枝模板,然后以html形式返回它,然后回到我完成的ajax函数中,使用jquery,将该请求中的html值插入到具有特定id的dom元素中 我试过的是这个Html 渲染细枝并使用Symfony将其插入另一个细枝中,html,jquery,symfony,twig,Html,Jquery,Symfony,Twig,我试图做的是编写一个返回html的端点,然后使用Jquery将其插入到另一个html中,如下所示: 我有一个有按钮的页面,当我点击它时,一个ajax请求被发送到我的控制器,我希望该控制器呈现一个细枝模板,然后以html形式返回它,然后回到我完成的ajax函数中,使用jquery,将该请求中的html值插入到具有特定id的dom元素中 我试过的是这个 这就是我发送请求的方式 $.ajax({ 方法:“张贴”, url:“{path('my_controller')}}”, }).完成(功能(r
这就是我发送请求的方式
$.ajax({
方法:“张贴”,
url:“{path('my_controller')}}”,
}).完成(功能(res){
console.log(“Res”,Res)
$(“#结果”).html(res);
}).
这是我的控制器代码
public function renderAction () {
$params = [
"message" => "Lorem ipsum wea"
];
return $this->render('format.html.twig', $params);
}
format.html.twig
还没有任何特殊功能,它只是打印消息
参数
它有点工作,但我的控制器给我返回了一个错误的小树枝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);
这有点尴尬,但我发现了问题所在。
在使用ajax时,如果发送POST请求,您需要添加
数据
字段,即使它是空的,当我将请求类型更改为“GET”时,它确实起作用了,当我添加空的数据
字段时,它也起作用了。您可能在编辑的某个php文件中有空格作为第一个字符。对不起,我不太明白这意味着什么嗨,对于你的答案,它不起作用,我得到了完全相同的错误,所以我认为问题不在响应中,而是在渲染视图时