Beendet ein "echo"-Befehl eine Ajax-Anfrage?
Enrico
- programmiertechnik
0 Der Martin
Hallo,
ich habe in einer php-Datei, die ich über Ajax aufrufe, für verschiedene Ergebnisse der in der php-Datei stattfindenden Auswertungen einen Rückgabewert.
Wird die php-Datei nach einem "echo"-Befehl eigentlich beendet oder läuft sie bis zum Schluss durch?
Wenn letzteres der Fall ist, was ich so nicht mehr mitbekomme, da der Client zwischenzeitlich mit dem erhaltenen Rückgabewert ja schon wieder weiter arbeitet, muss ich dann jeweils nach den "echo"-Befehlen noch "die()" ergänzen oder ist das unnötig?
Danke und Gruß,
Enrico
Hi,
ich habe in einer php-Datei, die ich über Ajax aufrufe, für verschiedene Ergebnisse der in der php-Datei stattfindenden Auswertungen einen Rückgabewert.
Wird die php-Datei nach einem "echo"-Befehl eigentlich beendet oder läuft sie bis zum Schluss durch?
wie kommst du auf die Idee, ein echo würde das Script beenden?
Im Gegenteil, Ausgaben des Scripts, also beispielsweise mit echo, sind doch genau das, was zum Client übertragen wird.
Wenn letzteres der Fall ist, was ich so nicht mehr mitbekomme, da der Client zwischenzeitlich mit dem erhaltenen Rückgabewert ja schon wieder weiter arbeitet, ...
Normalerweise bearbeitet der Client die Antwort erst, wenn sie abgeschlossen, also das zugehörige Script beendet ist.
muss ich dann jeweils nach den "echo"-Befehlen noch "die()" ergänzen oder ist das unnötig?
Wenn dein Script sauber aufgebaut ist, erzeugt es nur die Ausgabe, die für den jeweiligen Fall vorgesehen ist, zum Beispiel über eine switch-Anweisung oder eine Folge von mehreren if-Anweisungen. Dann ist ein zusätzliches die() oder exit() nicht nur unsauber, sondern unnötig.
Ciao,
Martin
Servus Martin,
Danke für Deine Antwort.
Wenn dein Script sauber aufgebaut ist, [...] über eine switch-Anweisung oder eine Folge von mehreren if-Anweisungen [...]
Ich habe mehrere if-Anweisungen, muss aber dann den Aufbau noch einmal überarbeiten, da nach dem einen oder anderen "echo"-Befehl noch weitere Anweisungen folgen.
Gruß,
Enrico
Hi Martin,
Normalerweise bearbeitet der Client die Antwort erst, wenn sie abgeschlossen, also das zugehörige Script beendet ist.
Normalerweise? Klingt interessant.
Gibt es auch Möglichkeiten, Zwischendaten abzuarbeiten?
Bis jetzt weiß ich nur von Ajax, dass man Textdateiein jeglicher Art (also auch dynamisch mit php generierte) in den "nicht sichtbaren" Browserspeicher laden kann. - Leihenhaft ausgedrückt :-)
Viele Grüße aus LA
Meine Damen und Herren, habe ich Ihre Aufmerksamkeit?
Hi Martin,
Normalerweise bearbeitet der Client die Antwort erst, wenn sie abgeschlossen, also das zugehörige Script beendet ist.
Normalerweise? Klingt interessant.
Gibt es auch Möglichkeiten, Zwischendaten abzuarbeiten?
Nicht mit Ajax. Ajax folgt dem Request-Response-Prinzip, d.h. man kann erst reagieren, wenn die Antwort vollständig eingetroffen ist.
Aber es gibt andere Technologien namentlich "Server Sent Events" und "WebSockets". Damit ist es möglich, auch auf "Zwischenmeldungen" des Server zu reagieren.
Hi,
Aber es gibt andere Technologien namentlich "Server Sent Events" und "WebSockets". Damit ist es möglich, auch auf "Zwischenmeldungen" des Server zu reagieren.
cool :-) websockets hab ich kurz überflogen.
kann es sein, dass die TCP Verbindung bestehen bleibt?
Währen damit livestreams bzw. Intervalle von daten möglich?
Meinst du < IE9 kann das auch (für zB. Win7 Minianwendungen - Wingets)?
Viele Grüße aus LA
Also -
hab websocket mit web-socket.js getestet.
Klappt mit aktuellen Browsern wunderbar :-)
Unter Win7 Sidebar Gadgets (IE7) leider nicht.
Hier steht leider nur Ajax zur Verfügung.
Lustig: Beim Einbinden der sample.html über <iframe> in das Gadget, klappt jedes Mal beim senden der Standardbrowser auf !?
Viele Grüße aus LA
Hallo
hab websocket mit web-socket.js getestet.
Klappt mit aktuellen Browsern wunderbar :-)Unter Win7 Sidebar Gadgets (IE7) leider nicht.
Hier steht leider nur Ajax zur Verfügung.
IE7 unter Windows7?
1. Geht das überhaupt? Wurde Windows7 nicht von vornherein mit einem Browser höherer Version ausgeliefert? Soweitz ich mich erinnere, hatte Windows7 den IE8 dabei.
2. Hat dieser Browser überhaupt irgendeine Relevanz? Auf jeder Windowsversion, auf der der IE7 läuft, läuft auch mindestens eine höhere IE-Version.
Tschö, Auge
Hi
Geht das überhaupt? Wurde Windows7 nicht von vornherein mit einem Browser höherer Version ausgeliefert? Soweitz ich mich erinnere, hatte Windows7 den IE8 dabei.
Hat dieser Browser überhaupt irgendeine Relevanz? Auf jeder Windowsversion, auf der der IE7 läuft, läuft auch mindestens eine höhere IE-Version.
die Gadgets (sidebar) wurden mit vista eingeführt. Der verwendete „Browser“ ist IE7 kompatibel.
Der „Browser“ der Sidebar ist UNABHÄNGIG von dem Desktopbrowsern.
Das heißt kein HTML5, Jquery und co.
Da MS mit ihrem ActiveX-Zeug Zugriff auf den Rechner erlauben, war (ist) es eine riesen Sicherheitslücke.
Support und Updates wurden eingestellt :-|
Man argumentiert bei MS, dass die Gadgets eh nur ein Vorläufer (zur Einstimmung) der Win8 Apps-Kacheln waren.
Viele Grüße aus LA