dongyinju5977 2014-09-25 09:30
浏览 80
已采纳

Symfony2:如何避免缓存中的flashbags

I'm using the AppCache of Symfony2 and it works really well. I have a problem about the flashbags though. When I make a PUT, POST or DELETE request, I make a flashbag with a message for the user. However this flashbag is store in the cache and when I access the cached route via a GET method, the flashbag is still in there.

My question is how to have the flashbag only once in the page (and not to have it in the cached response). I've read about the ESI but I don't know how this would possibly help me: I don't know how to create a controller that the only purpose is to display flashbags. Plus this controller might not have the info necessary to display the correct flashbags.

Thank you for your answers.

Cheers!

  • 写回答

1条回答 默认 最新

  • dqsp60748 2014-12-18 12:09
    关注

    FlashMessages are stored in the user session, not in cache, and they have to be "consumed", by a controller that renders them. If you're doing an AJAX or pure REST call (as how it seems by your question) you shouldn't use the Flashbag, but some response mechanism embedded in the AJAX requester, or a correct HTTP response code.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?