Seite 4 von 4 ErsteErste 1234
Ergebnis 46 bis 48 von 48
Like Tree1Likes

Thema: AJAX Benutzerauflösung abspeichern geht nicht

  1. #46
    Avatar von kkapsner
    kkapsner ist offline Super Moderator
    registriert
    28-03-2008
    Beiträge
    17.612

    AW: AJAX Benutzerauflösung abspeichern geht nicht

    Zitat Zitat von HeinrichK Beitrag anzeigen
    Hat jemand einen guten Tipp?
    Zeig' doch erst mal deine Versuche mit den zwei Variablen.

  2. #47
    HeinrichK ist offline Mitglied
    registriert
    22-10-2008
    Beiträge
    25

    AW: AJAX Benutzerauflösung abspeichern geht nicht

    Hi, sorrry - da steht noch der Code für nur eine Variable. Bin inzwischen etwas weiter gekommen. Ich poste, wenn es neue Probleme gibt.

  3. #48
    HeinrichK ist offline Mitglied
    registriert
    22-10-2008
    Beiträge
    25

    AW: AJAX Benutzerauflösung abspeichern geht nicht

    So jetzt funktioniert es bestens. So geht's (wenn auch etwas tricky):

    In meiner index.php steht im Head:
    HTML-Code:
       <script type="text/javascript">
      <!--
    	var request = false;
    
    	// Request senden
    	function setRequest(height, width, availwidth, availheight) {
    		// 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 = "<?php echo $_SERVER['SCRIPT_NAME']."?".$_SERVER['QUERY_STRING']; ?>"; 		
    			// Request öffnen
    			request.open('post', url, true);
    			// Requestheader senden
    			request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    			// Request senden
    			request.send('height='+height+'&width='+width+'&availwidth='+availwidth+'&availheight='+availheight);	 	
    
         		// 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 {
    					var content = request.responseText;
    					// den Inhalt des Requests in das <div> schreiben
    					document.getElementById('content').innerHTML = content; 	
    				}
    				break;
    			default:
    				break;
    		}
    	}
      //-->
      </script>
    Dann ist eine counter.php per include() eingebunden:
    PHP-Code:
    <div style="display:none;" id="content">
    </div>

    <script type="text/javascript">
    var height = screen.height;
    var width = screen.width;
    var availwidth = window.screen.availWidth;
    var availheight = window.screen.availHeight;

    setRequest(height, width, availwidth, availheight);
    </script>

     <?php
    $width 
    $_POST['width'];
    $height $_POST['height'];
    $availwidth $_POST['availwidth'];
    $availheight $_POST['availheight'];
    weiter geht's in der counter.php mit dem Auslesen verschiedener Server-Infos. Dann wird alles in eine Datenbank eingetragen. Zwei Dinge sind tricky:

    1. Der Container <div id="content"> hat die zusätzliche Style-Eigenschaft display:none; Sonst zerreißt es beim Ajax-Request durchs Nachladen die Seite.

    2. Das ganze script läuft einmal durch (dabei sind dann "$width" usw. noch leer) und dann wird Ajax aktiv und das script läuft nochmal durch. Dem Besucher fällt das nicht auf, aber der DB. Die würde zwei Datensätze schreiben, wobei dem ersten die Werte für "$width" usw. fehlen. Das fange ich ab mit if (!empty($width)) {...dann INSERT INTO...}

    Das ist jetzt sicher bisserl "gebastelt", aber es funktioniert.

Seite 4 von 4 ErsteErste 1234

Ähnliche Themen

  1. Cufon + AJAX (Mootools) geht nicht
    Von lomex im Forum JavaScript
    Antworten: 4
    Letzter Beitrag: 03-02-2011, 15:47
  2. Ajax - responseText im IE geht nicht
    Von Igibob im Forum JavaScript
    Antworten: 9
    Letzter Beitrag: 24-06-2010, 21:35
  3. gleiche seite mit ajax aufrufen geht nicht
    Von baileys-deluxe im Forum JavaScript
    Antworten: 3
    Letzter Beitrag: 30-06-2009, 13:24
  4. Ajax Request geht nicht immer
    Von dezer im Forum JavaScript
    Antworten: 10
    Letzter Beitrag: 20-06-2008, 19:06
  5. ajax - lightbox geht nicht mehr??
    Von baileys-deluxe im Forum JavaScript
    Antworten: 0
    Letzter Beitrag: 09-05-2008, 08:42

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •