2012-10-30 131 views
1

我有一個使用jquery的php文件。如果在按下提交按鈕後選中複選框,並且如果未選中複選框,則刪除Cookie(如果存在),我有這個文件存儲Cookie。在symfony中刪除cookies問題

它在我的開發服務器上工作得很好,它沒有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 
        } 

回答

3

B默認的symfony設置cookie的使用標誌HTTP只,這意味着 - 你不能老是從JS刪除的cookie。 例如:

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

好吧我認爲這是類似的東西。我爲解決問題所做的工作是使用空值設置相同名稱的cookie,以便在會話結束後刪除它們。 – user1467225

20

你也可以做

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

不要忘了響應中發回的順序,該cookie將用於設置Cookie被刪除