如何从Symfony2访问jquery中的cookie

Mat*_*att 2 cookies jquery symfony

所以我希望Symfony2中的控制器设置一个cookie,然后如果已经设置了cookie,则相应地使用jquery脚本.这似乎很简单,但由于我不能让它工作,我想我会问.

这是我设置cookie的Symfony代码:

// in controller
    $url = $this->container->get('router')->generate('_fs_feed_show');
    $response = new RedirectResponse($url);
    $response->headers->setCookie(new Cookie('showhelp', 'true', time() + (3600 * 48)));
    return $response;
Run Code Online (Sandbox Code Playgroud)

这是我的jquery代码片段(我正在使用cookie插件)

if ($.cookie('showhelp') != null) {
    alert('cookie set!');
}
Run Code Online (Sandbox Code Playgroud)

我也尝试过:

if ($.cookie('showhelp', {path: '/'}) != null) {
    alert('cookie set!');
}
Run Code Online (Sandbox Code Playgroud)

我正在使用chrome和"chromekie"扩展,我可以看到cookie已设置.当我单步执行javascript调试器时,if语句的计算结果为false.

有人可以帮我从这里出去吗?

Mun*_*Das 6

如果你看一下setCookie 方法的文档,就会有一个名为的参数httponly,它决定了javascript是否可以访问cookie变量.在Symfony2中,默认情况下为true.你必须将它设置为假,例如

    $response->headers->setCookie(new Cookie('showhelp', 'true', time() + (3600 * 48), '/', null, false, false));
Run Code Online (Sandbox Code Playgroud)