2012-10-30 2 views
1

У меня есть файл php, который использует jquery. У меня есть файлы cookie этого файла, если флажок установлен после нажатия кнопки отправки и удаления файлов cookie (если они существуют), если флажок не установлен.Проблема с удалением файлов cookie в symfony

Он отлично работает на моем сервере разработки, на котором нет 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

Symfony B по умолчанию установить куки с флагом HTTP только, что значит - вы не можете удалить куки из JS. , например:

$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(); 

Не забудьте отправить ответ обратно в порядке, что куки будут удалены

Смежные вопросы