kostenloser Webspace werbefrei: lima-city


Ajax-Probleme

lima-cityForumDie eigene HomepageHTML, CSS & Javascript

  1. Autor dieses Themas

    drafed-map

    Kostenloser Webspace von drafed-map

    drafed-map hat kostenlosen Webspace.

    Da ich kaum Javascript kann, es jedoch immerwieder benötige gab es im Gebit Ajax in letzer Zeit einige Probleme. Sicherlich ein großer Grund für das Entstehen der Probleme ist die Unübersichtlichkei der Funktionen die gebraucht werden.


    Ich habe versucht, mir eine Funktion mit einem Parameter zu schreiben, welche den Inhalt einer Datei zurückgibt. Der Parameter legt die Datei fest. Meine Funktion hat nur teilweise funktioniert, da Fehler entstanden sind konnte ich sie nicht einbauen. In der fehlerkonsole wurden die Fehler nicht gezeigt.

    Meinen bisherigen Code zu posten hat sicherlich keinen großen Wert, da ich euch damit nur verwirren würde.



    Wichtig ist mir, dass ich das ganze über eine einzige Funktion aufruen kann, ohne etwas wie "responseText". Beispielsweise so:
    var ausgelesen = auslesen('lesen.php');




    mfg drafed-map
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Das hier müsste funktionieren, ist aber ungetestet:

    function auslesen(datei)
    {
    	var req = null;
    	try
    	{
    		req = new XMLHttpRequest();
    	}
    	catch (ms)
    	{
    		try
    		{
    			req = new ActiveXObject("Msxml2.XMLHTTP");
    		} 
    		catch (nonms)
    		{
    			try
    			{
    				req = new ActiveXObject("Microsoft.XMLHTTP");
    			} 
    			catch (failed)
    			{
    				req = null;
    			}
    		}  
    	}
    	if (req == null)
    		alert("Dein Browser unterstützt kein AJAX!");
    	req.open("GET", datei, true);
    	req.onreadystatechange = function()
    	{            
    		switch(req.readyState) 
    		{
    			case 4:
    			if(req.status!=200) 
    			{
    				return false;
    			}
    			else
    			{		    
    				return req.responseText;
    			}
    			break;
    			default:
    			return false;
    			break;     
    		}
    	}
    	req.setRequestHeader("Content-Type",
                                          "application/x-www-form-urlencoded");
    	req.send(null);
    }


    Dann kannst du z.B. über

    alert(auslesen('datei.php'));


    den Inhalt der Datei auslesen.

    Beitrag zuletzt geändert: 24.7.2009 12:41:14 von cookies
  4. Autor dieses Themas

    drafed-map

    Kostenloser Webspace von drafed-map

    drafed-map hat kostenlosen Webspace.

    Der Code funktionert leider nicht. Es wird nur "undefiniert" gezeigt. Mittels eines PHP-Counters habe ich herausgefunden, dass die Datei aufgegrufen wird. Es muss also am Rückgabewert der Funktion liegen.
  5. Ich würde mal versuchen
    function auslesen(url) {
    // das ganze catch-zeugs sollte ja bekannt sein, deshalb lass ich das hier weg
    if (window.XMLHttpRequest) {              
    	req=new XMLHttpRequest();              
    } else {                                  
    	req=new ActiveXObject("Microsoft.XMLHTTP");
    }
    if (req) {
    	req.open("GET", url, false);                             
    	req.send(null);
    	return req.responseText;                                         
    } else {
    	return false;
    	}                                             
    }

    Wenn ich das Problem richtig durchschaue - ich bin selbst AJAX anfänger - machte der beim Vorposter die Abfrage asynchron und hat deshalb nichts im Rückgabewert.

    Das Problem an der Geschichte ist, dass die abfrage nun "Synchron" erfolgt - soll heissen: Ich hatte da schon Probleme, dass die Webseite anfing zu hängen. Wenn du die Abfrage asynchron laufen lassen willst, wird das ganze wesentlich aufwändiger.

    Ist allerdings wie beim Vorposter ungetestet. ;)

  6. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!