我正在使用Symfony 2.5。我从控制器返回我的视图模板页面。
但是,当我渲染页面时,它会将原始缓存显示为<body>
标记中的第一部分。
HTTP/1.0 200 OK Cache-Control: no-cache Date: Thu, 26 Jun 2014 06:07:05 GMT []
我用Google搜索并发现this answer(与我的问题类似)和this answer(模糊地相同)。
所以我逐一尝试了以下所有内容。但没有任何效果。
return $this->render('MyBookBundle:Section:splash.html.php' , $this->data);
和
echo $this->renderView('MyBookBundle:Section:splash.html.php' , $this->data);
return new Response();
和
$displaypage = $this->renderView('MyBookBundle:Section:splash.html.php' , $this->data);
return new Response( $displaypage );
和
$displaypage = $this->render('MyBookBundle:Section:splash.html.php' , $this->data);
return new Response( $displaypage->getContent() );
我的网页处于最简单的阶段。
<!DOCTYPE HTML>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge"/>
</head>
<body>
<div>Hello World</div>
</body>
</html>
这些方法仍然没有奏效。有人可以指导我正确的方向吗?
答案 0 :(得分:0)
嗯,我不知道是否遵循了正确的答案,但它对我有用。希望它可以帮助像我这样的新手。
在我的控制器中,我正在对其他控制器进行一些forward
调用以获取所需的数据。
在那些控制器(动态调用的那个)中,我正在返回一个响应对象。这导致了这个问题。但是,只要我返回纯字符串,缓存显示问题就消失了。
理想情况下,我必须从控制器的Action
方法返回响应对象。但是,在这种情况下,它在没有返回响应对象的情况下工作。
我是Symfony2的新手,我试着稍微谷歌但是找不到这个原因的任何差异或原因。如果有人能够启发,那就太棒了。
P.S。我相信我应该将那些不是服务页面而只是后台工作的控制器更改为服务。