2017-04-10 2 views
0

Ich bin auf der Suche nach einem Weg, um eine Ansicht insbesondere von Caching in Laravel zu stoppen. Ich habe eine Website, wo es einen speziellen Schlüssel auf jeder Seite benötigt, um etwas über Ajax zu tun. Was meine Benutzer machen, ist das Zurückklicken auf ihren Browser und das Anzeigen einer zwischengespeicherten Version mit dem alten speziellen Schlüssel? Das bedeutet, dass sie eine ungültige spezielle Schlüsselfehlermeldung erhalten und sie nicht sicher sind, was das genau bedeutet.Stoppen Sie eine bestimmte Sicht von Caching in Laravel?

Wie kann ich es zwingen, mit einer neuen Kopie zu versorgen und ihnen einen neuen speziellen Schlüssel zu geben?

+0

Dies ist wahrscheinlich eher ein Browser-Cache-Problem als ein View-Cache-Problem. Sie müssen etwas hinzufügen, wie zB Cache-Control: no-cache, max-age = 0, muss-revalidate, no-store' Header, wenn Sie verhindern möchten, dass der Browser diese Seite zwischenspeichert. – Joe

Antwort

0

Es gibt mehrere Möglichkeiten, dies in Laravel zu tun, aber es kommt auf die Implementierung der Cache-Control-Header nach @ Joes Kommentar oben.

Stellen Sie sicher, dass die von Ihnen verwendeten Cache-Header geeignet sind for your clients' HTTP version.

Sie können die Header auf Ihre Antwort in Ihrem Controller-Methoden hinzufügen:

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

Sie können auch diese Umsetzung durch individuelle middleware auf der entsprechenden Route Registrierung (en) oder ein Paket verwenden, wie laravel-httpcache

Verwandte Themen