2017-04-10 18 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