【问题标题】:Trouble deleting cookies within symfony无法在 symfony 中删除 cookie
【发布时间】:2012-10-20 03:47:52
【问题描述】:

我有一个使用 jquery 的 php 文件。如果在按下提交按钮后选中了一个复选框,我有这个文件存储 cookie,如果未选中该复选框,则删除 cookie(如果它们存在)。

它在我没有 symfony 的开发服务器上运行良好。当我将它传输到我们的实时服务器时,这需要我将代码放在 symfony 中,它会保存 cookie 但不会删除它们。我正在使用来自这里的 jquery.cookies.js LINK

我的代码很简单

                   // else delete the cookies if the checkbox is unchecked
                    else
                    {
                        ?>
                         <script type="text/javascript">
                            $.removeCookie('vtuid');
                            $.removeCookie('vt_usr');
                            $.removeCookie('vt_pd');
                            $.removeCookie('vt_chk');
                        </script>
                        <?php
                    }

【问题讨论】:

    标签: php jquery cookies symfony


    【解决方案1】:

    你也可以这样做

     $response = new Symfony\Component\HttpFoundation\Response();
     $response->headers->clearCookie('nameOfTheCookie');
     $response->send();
    

    不要忘记按照 cookie 被删除的顺序发回响应

    【讨论】:

      【解决方案2】:
      【解决方案3】:

      B 默认 symfony 只设置带有 http 标志的 cookie,这意味着 - 你不能从 js 中删除 cookie。 例如:

      $response->headers->setCookie(new Cookie('blabla', 'true', time() + (3600 * 48), '/', null, false, false));
      

      【讨论】:

      • 好吧,我想是这样的。我所做的解决方法是将同名的 cookie 设置为空值,以便在会话结束后将它们删除。
      猜你喜欢
      • 2020-01-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-23
      • 2018-02-18
      • 2012-01-20
      • 2012-07-06
      • 2019-11-13
      相关资源
      最近更新 更多