php.de

Zurück   php.de > Webentwicklung > JavaScript, Ajax und mehr

JavaScript, Ajax und mehr dynamisches Scripten und Interaktion auf Clientebene

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 15.11.2011, 07:57  
Neuer Benutzer
 
Registriert seit: 15.09.2011
Beiträge: 7
PHP-Kenntnisse:
Anfänger
<Hotte> befindet sich auf einem aufstrebenden Ast
Standard Läuft der Ajax Request weiter auch wenn der Browser geschlossen wird?

Hallo!

Habe eine Verständnisfrage zu Ajax:


In meinem Code wird an einer bestimmten Stelle die Funktion setRequest_sync() aufgerufen. Diese function startet einen Ajax-Request, der widerum ein Perl-Script auf dem Server aufruft. Dieses Skript benötigt ~10 Sekunden bis es durchgelaufen ist. (Es werden Daten von der MySQL Datenbank mit einer Anwendung syncronisiert)




Code:
// Request senden
	function setRequest_sync(){
		// Request erzeugen
		if (window.XMLHttpRequest) {
			request = new XMLHttpRequest(); // Mozilla, Safari, Opera
		} else if (window.ActiveXObject) {
			try {
				request = new ActiveXObject('Msxml2.XMLHTTP'); // IE 5
			} catch (e) {
				try {
					request = new ActiveXObject('Microsoft.XMLHTTP'); // IE 6
				} catch (e) {}
			}
		}

		// überprüfen, ob Request erzeugt wurde
		if (!request) {
			alert("Kann keine XMLHTTP-Instanz erzeugen");
			return false;
		} else {     
			var url = "ajax_sync.php";
			// Request öffnen
			request.open('post', url, true);
			// Requestheader senden
			request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');            
			// Request senden
			request.send(null);            
			// Request auswerten
			request.onreadystatechange = interpretRequest;		
		}
	}

	// Request auswerten
	function interpretRequest() {
		switch (request.readyState) {
			// wenn der readyState 4 und der request.status 200 ist, dann ist alles korrekt gelaufen
			case 4:
				if (request.status != 200) {
					alert("Der Request wurde abgeschlossen, ist aber nicht OK\nFehler:"+request.status);
				} else {
				//alert("sync ok");
				}
				break;
			default:
				break;
		}
	}


ajax_sync.php
PHP-Code:
<?php
$shell_exec
("/usr/local/bin/lsc-sync.sh");
?>

Jetzt mal angenommen, der Benutzer wartet nicht die 10 Sekunden, die der Sync benötigt, ab und schließt vorher das Browserfenster. Läuft das Script dann trotzdem fehlerfrei durch? Oder bricht der Server ab, wenn er merkt, dass gar kein Client mehr "da ist"?

Brauch ich die "interpretRequest()" Funktion überhaupt? Denn eigentlich soll ja alles im Hintergrund geschehen und der User braucht von der Technik im Hintergrund nix mitbekommen...
<Hotte> ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 15.11.2011, 08:16  
umt
Benutzer
 
Registriert seit: 21.02.2008
Beiträge: 35
umt befindet sich auf einem aufstrebenden Ast
Standard

Hallo,

meines Wissens läuft das aurgerufene Script auf dem Server trotzdem weiter wenn der Browser geschlossen wird.
__________________
www.netzonaut.de - Ein Blog zu den Themen Internet, Webentwicklung, Linux und OpenSource
www.jexlab.net - Webentwicklung zu fairen Konditionen
umt ist offline   Mit Zitat antworten
Alt 15.11.2011, 08:25  
fab
Erfahrener Benutzer
 
Benutzerbild von fab
 
Registriert seit: 28.07.2010
Beiträge: 2.308
PHP-Kenntnisse:
Fortgeschritten
fab ist ein Lichtblickfab ist ein Lichtblickfab ist ein Lichtblickfab ist ein Lichtblickfab ist ein Lichtblick
Standard

Zitat:
Zitat von <Hotte> Beitrag anzeigen
Oder bricht der Server ab, wenn er merkt, dass gar kein Client mehr "da ist"?
Ja, er merkt es aber erst sobald er versucht, eine Antwort zu senden. Das kannst du wiederum kontrollieren, siehe ignore_user_abort
fab ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Fileupload via AJAX GSJLink HTML, Usability und Barrierefreiheit 13 17.05.2012 21:41
[Erledigt] Browser wird geschlossen ein letztes script ausführen Dant3r PHP Tipps 2010 15 28.03.2010 13:45
[Erledigt] Ajax Paginations Problem (Request bei erreich der letzten möglichen Seite kn0wledge JavaScript, Ajax und mehr 4 01.02.2010 16:32
[Erledigt] Umlaut Problem in ajax Request da.eXecutoR JavaScript, Ajax und mehr 1 28.11.2009 12:21
[Erledigt] Ajax response in variable Buschdieb JavaScript, Ajax und mehr 13 22.11.2009 12:33
Wie lade ich ein Javascript nach einer AJAX Abfrage neu? da.eXecutoR JavaScript, Ajax und mehr 3 21.09.2009 11:15
[Erledigt] AJAX interpretRequest läuft nur mit alert() Buschdieb JavaScript, Ajax und mehr 14 26.08.2009 14:04
Session aus DB löschen wenn Browser geschlossen wird Tyrra Datenbanken 18 28.05.2009 08:19
Lauftext nach ajax request ?!?! 8eww JavaScript, Ajax und mehr 11 25.04.2009 12:41
[Erledigt] Ajax Request Datei nicht direkt öffnen Heinerlutscher JavaScript, Ajax und mehr 5 02.03.2009 18:10
[Erledigt] Datei via Ajax in zwei Boxen laden Lenni.B JavaScript, Ajax und mehr 4 25.02.2009 11:28
1111: AJAX meets PHP (indirectly) Nikolaus 2.0 Adventskalender 2008 5 15.12.2008 11:00
AJAX: Session-Inhalt an PHP Curanai HTML, Usability und Barrierefreiheit 2 05.11.2007 15:45
AJAX läuft im IE nich richtig Freeaak HTML, Usability und Barrierefreiheit 3 02.03.2007 18:39
innerHTML funktioniert nicht bei AJAX request Plague HTML, Usability und Barrierefreiheit 1 21.12.2006 14:30

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
läuft php script weiter schliesse, läuft php-skript weiter wenn browser geschlossen, browser schliessen mitbekommen ajax abschicken, ajax läuft im browser, ajax response seite geschlossen, ajax objekt zerstören request läuft weiter, request geschlossen nicht okay, ajax prüfen request läuft, prüfen ob ein ajaxrequest laüft, request bevor browser geschlossen wird, was passiert mit einem request wenn browser geschlossen wird

Alle Zeitangaben in WEZ +2. Es ist jetzt 11:45 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum