murat1895 Geschrieben 20. Februar 2017 Geschrieben 20. Februar 2017 Hallo zusammen! Ich auf einer Webseite einen Button, die eine Javascript-Funktion ausführt. Diese Javascript-Funktion greift Daten von einer Datenbank ab und gibt diese später per Alert aus. Bei der ersten Ausführung der Funktion wird der aktuelle Wert aus der DB gelesen. Ändert sich aber nun der Wert in der DB und betätige ich nochmal den Button, wird wieder der gleiche Wert ausgegeben und nicht der aktuelle. Jemand eine Idee was man dagegen machen kann, bzw. wie sich dieses Problem lösen lässt? Erst nach löschen des Caches im IE wird der aktuelle Wert ausgegeben. Zitieren
Ulfmann Geschrieben 20. Februar 2017 Geschrieben 20. Februar 2017 vor 4 Minuten schrieb murat1895: Jemand eine Idee was man dagegen machen kann, bzw. wie sich dieses Problem lösen lässt? Erst nach löschen des Caches im IE wird der aktuelle Wert ausgegeben. Richtig programmieren wäre ein Weg. Zeig doch mal deinen Code. Thanks-and-Goodbye und Goulasz reagierten darauf 2 Zitieren
Crash2001 Geschrieben 20. Februar 2017 Geschrieben 20. Februar 2017 Ich vermute mal schwer, dass nicht das JS die Daten abruft (das geht afaik ohne Plugins (ActiveX oder so) auch gar nicht und wäre komplett unsicher, da man JS lesen kann und somit Passwörter, Datenbanknamen usw. alles sehen könnte), sondern dass sie von PHP aus an JS übergeben werden. Die Frage wäre nun, was beim Aufruf des Buttons passiert. Wird eine Variable ausgelesen, oder wirklich jedes Mal eine Datenbankverbindung aufgebaut und der Inhalt des entsprechenden Feldes an JS weitergereicht? Ich tippe eher drauf, dass das es einmal aus der Datenbank ausgelesen und in einer Variablen gespeichert wird und du danach immer nur einfach diese Variable ausliest, statt wirklich auf die Datenbank zuzugreifen bei jedem Aufruf. Eventuell gibt es ja eine Überprüfung, ob die Variable bereits befüllt ist und nur falls nicht wird die Datenbankverbindung aufgebaut. Um das wissen zu können, müssten wir aber den Code sehen. Alles andere sind nur Vermutungen. Zitieren
murat1895 Geschrieben 20. Februar 2017 Autor Geschrieben 20. Februar 2017 Hier der Button: <input type="button" id="btnTest" value="test" onclick="test('<?php echo URL?>','<?php echo $id?>')"> Hier die JS-Funktion function test(url, id){ $.get(url+'controller/methode/'+id, function (o){ alert(o.Sitzplaetze); }, 'json'); } Im Prinzip ist es das. Oder wollt ihr die Controller-Methode sowie dann die DB-Abfrage aus dem Model auch noch sehen, aber ich denke daran wird s nicht liegen, da die Ergebnisse ja richtig sind. Zitieren
JimTheLion Geschrieben 20. Februar 2017 Geschrieben 20. Februar 2017 (bearbeitet) Du kannst .ajax(); statt .get(); benutzen. Dann kannst du der Funktion Parameter geben, unter anderem ob das Ergebnis gecached werden soll oder nicht. http://stackoverflow.com/questions/8841425/how-to-set-cache-false-in-jquery-get-call Bearbeitet 20. Februar 2017 von PVoss murat1895 reagierte darauf 1 Zitieren
etreu Geschrieben 20. Februar 2017 Geschrieben 20. Februar 2017 Willkommen in den Untiefen des Browsercaches! Wenn du sicher bist dass du weiter auf diesem Pfad wandeln willst, dann folge PVoss. Asura reagierte darauf 1 Zitieren
murat1895 Geschrieben 20. Februar 2017 Autor Geschrieben 20. Februar 2017 @PVoss Vielen Dank für den Hinweis, Jetzt läuft´s! 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.