2014-09-25 2 views
1

Я использую AppCache Symfony2, и он работает очень хорошо. Однако у меня проблема с флеш-камерами. Когда я делаю запрос PUT, POST или DELETE, я делаю flashbag с сообщением для пользователя. Однако этот flashbag хранится в кеше, и когда я получаю доступ к кэшированному маршруту с помощью метода GET, флэш-пакет все еще там.Symfony2: как избежать флеш-памяти в кеше

Мой вопрос заключается в том, как иметь flashbag только один раз на странице (и не иметь его в кешированном ответе). Я читал об ESI, но я не знаю, как это могло бы мне помочь: я не знаю, как создать контроллер, единственной целью которого является отображение flashbags. Кроме того, у этого контроллера может не быть информации, необходимой для отображения правильных флэш-пакетов.

Благодарим за ответы.

Cheers!

ответ

0

FlashMessages хранятся в сеансе пользователя, а не в кеше, и их нужно «потреблять» контроллером, который их отображает. Если вы выполняете AJAX или чистый вызов REST (как вам кажется по вашему вопросу), вы не должны использовать Flashbag, но какой-либо механизм ответа, встроенный в реквестер AJAX, или правильный код ответа HTTP.

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