forTeesSake Geschrieben 7. November 2006 Geschrieben 7. November 2006 Hi und hallo, ich arbeite nun seit einiger Zeit mit Ajax. Klasse Sache das Ganze! Leider muss ich in meiner neuesten Anwendung feststellen, dass manchmal(!) "Dinge" gechached werden. Z.b. bei "in place editing" via Formularfelder, manchmal aber auch ganze Inhalte, die ich in <div> Container reinlade. Habe einiges ergoogelt, nichts bis jetzt löst das Problem aber 100% 1. Die PHP-Lösung: <?php Header("Pragma: no-cache"); Header("Cache-Control: no-store, no-cache, max-age=0, must-revalidate"); Header("Content-Type: text/html;"); ?> [/PHP] 2. Die HTML-Lösung [code] <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1"> <meta http-equiv="Pragma" content="no-cache"> <meta http-equiv="Cache-Control" content="no-cache"> <meta http-equiv="Expires" content="Thu, 01 Dec 1994 16:00:00 GMT"> [/code] Ich habe beides, auch in Kombination, ausprobiert. Leider wird trotzdem noch gecached... Gibts noch andere Ansätze? Wie macht Ihr das so? Vielen Dank Zitieren
perdian Geschrieben 8. November 2006 Geschrieben 8. November 2006 Sind denn die entsprechenden Browser-Einstellungen auch entsprechend angepasst? Header setzten ist schön und gut, aber damit passiert ja auch nichts anderes als eine Aufforderung "Bitte bitte, lieber Browser lade diese Resource jedesmal nach". Ob der Browser sich daran hält steht auf einem ganz anderen Blatt. Ohne mich darauf festlegen zu wollen aber ich meine mich daran erinnern zu können, dass der IE beispielsweise eine Konfigurationsmöglichkeit besitzt wo immer zuerst - falls vorhanden - der Cache-Inhalt geliefert wird. Zitieren
forTeesSake Geschrieben 8. November 2006 Autor Geschrieben 8. November 2006 Ich versuchs mal anschaulich zu erklären: - ich habe eine HTML-Tabelle in der Benutzerdaten, aus einer Datenbank, wie Vor- und Nachname in den einzelnen Zellen stehen. - Beim Klick auf eine Zelle wird via Ajax der Code in der Zelle, also z.b <span>Der Vorname</span> mit <input type="text" value="[ausDerDatenbankWert]"> ausgetauscht. - Beim ersten Mal austauschen ist alles Ok, es steht der richtige Value in meinem <input> sagen wir value="Der Vorname" - Nun ändere ich den Wert auf "Der Vorname_NEU" und speichere. - Der Inhalt wird wieder ausgetauscht und nun zu <span>Der Vorname_NEU</span> - Wenn ich jetzt aber wieder auf die Zelle Klicke öffnet sich das <input> und drin steht als value wieder nur "Der Vorname" - Das kann ich so oft machen, und eingeben was ich will, es steht immer "Der Vorname" drin, obwohl der Wert ja eigentlich aktuell aus der Datenbank geholt werden muss. Anscheinend wird gecached. - ABER: eben nur bei <input> Feldern, in meinen <span> etc. Feldern passiert das nicht! - Ich dachte noch daran meinem input feld irgendetwas "uniques" zu geben wie z.b. ein alt="<?php echo(md5(time())); ?>" aber auch dann bleibt der cache bestehen. Kennt da jemand eine Möglichkeit das Caching auszuschalten? Vielen Dank für jeden Tipp Zitieren
forTeesSake Geschrieben 8. November 2006 Autor Geschrieben 8. November 2006 Sind denn die entsprechenden Browser-Einstellungen auch entsprechend angepasst? Header setzten ist schön und gut, aber damit passiert ja auch nichts anderes als eine Aufforderung "Bitte bitte, lieber Browser lade diese Resource jedesmal nach". Ob der Browser sich daran hält steht auf einem ganz anderen Blatt. Ohne mich darauf festlegen zu wollen aber ich meine mich daran erinnern zu können, dass der IE beispielsweise eine Konfigurationsmöglichkeit besitzt wo immer zuerst - falls vorhanden - der Cache-Inhalt geliefert wird. Ohja, Du hattest recht. Ich habe nun im IE das Caching auf "Bei jedem Seitenaufruf neue Version laden" gesetzt und endlich endlich funktioniert alles. Danke Danke. Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.