2017-04-10 37 views
0

我正在寻找一种方法来停止一个视图,特别是从Laravel中缓存。我有一个网站,它需要每个页面加载一个特殊的关键,通过ajax做一些事情。我的用户正在做的是点击浏览器上的“返回”,并用旧的特殊键显示缓存版本?这意味着他们会得到一个无效的特殊关键错误信息,他们不确定这究竟意味着什么。停止Laravel缓存中的某个视图?

我该如何强制它提供新的副本,给他们一个新的特殊键?

+0

这很可能是浏览器缓存问题,而不是视图缓存问题。如果您想阻止浏览器缓存该页面,您需要像添加'Cache-Control:no-cache,max-age = 0这样的操作,必须重新验证无存储标头。 – Joe

回答

0

在Laravel中有多种方式可以做到这一点,然而,根据上面的@ Joe的注释来实现Cache-Control标头。

确保您使用的缓存标头是合适的for your clients' HTTP version

您可以标题您的控制器方法中添加到您的回复:经相关途径(S)自定义登记middleware

return response($content) 
     ->header('Cache-Control', 'no-cache, no-store, must-revalidate') 
     ->header('X-Header-One', 'Header Value') 
     ->header('X-Header-Two', 'Header Value'); 

您还可以实现这一点,或使用包,如laravel-httpcache