我正在尝试在渲染twig文件之前在Controller中设置cookie。在尝试了我在这里看到的一些建议之后,我的代码如下所示:
public function demandAction() {
$result = array('message' => '');
$response = $this->render('MainBundle:Default:demand.html.twig', $result);
$response->headers->setCookie(new Cookie('cookie', 'value', time() + 3600 * 24 * 7));
return $response;
}
但是当我提醒document.cookie时,我的呈现页面中没有cookie。我敢肯定我一定错过了什么。请帮帮我。感谢。
答案 0 :(得分:2)
默认情况下,Cookie对象的httpOnly设置为true http://api.symfony.com/2.0/Symfony/Component/HttpFoundation/Cookie.html
这意味着浏览器不应使cookie对客户端脚本可见。如果您需要在脚本中查看cookie,则可以在创建cookie时将第7个参数作为false传递。
$response->headers->setCookie(new Cookie('foo', 'bar',time() + 60, '/', null, false, false));
如果您只是需要查看Cookie以进行调试,则可以使用Chrome开发工具。它们位于“资源”选项卡下。