Veröffentlicht 14. Oktober 200816 j Hallo, ich versuche mich jetzt an AJAX, nur komme ich nicht dahinter, warum folgendes nicht funktioniert: Javascript: var xmlHttpObject = false; // Überprüfen ob XMLHttpRequest-Klasse vorhanden und erzeugen von Objekte für IE7, Firefox, etc. if (typeof XMLHttpRequest != 'undefined') { xmlHttpObject = new XMLHttpRequest(); } // Wenn im oberen Block noch kein Objekt erzeugt, dann versuche XMLHTTP-Objekt zu erzeugen if (!xmlHttpObject) { try { xmlHttpObject = new ActiveXObject("Msxml2.XMLHTTP"); } catch(e) { try { xmlHttpObject = new ActiveXObject("Microsoft.XMLHTTP"); } catch(e) { xmlHttpObject = null; } } } // Laden der News function load_news(id) { xmlHttpObject.open('get','news.php?id='+id); xmlHttpObject.onreadystatechange = handleContent(); xmlHttpObject.send(null); return false; } // Ausgeben der News in den Tags function handleContent(style) { if (xmlHttpObject.readyState == 4) { document.getElementById('news').innerHTML = xmlHttpObject.responseText; } } HTML-Teil: <dl id="news"> <dt title="11.1.1999">Title</dt> <dd>Text</dd> </dl> Die PHP Datei gibt einen Text, ähnlich dem Text zwischen den dl-Tags aus, auch mit den dt und dd. Nur funktioniert das nicht. Der Aufruf der beiden Funktion klappt hervorragen. Und es werden auch keine Fehler ausgegeben. mfg
15. Oktober 200816 j 1., der übliche Spruch ^^: nimm dir ein Ajax-Framework zur Hand. ich empfehle Mootools, scriptaculous und prototype sind auch nicht schlecht, können aber nicht ganz so viel glaube ich. jQuery hat bei meinem test nicht gut abgeschnitten. 2. Test das innerHTML doch mal mit einem statischen Text/variable. 3. schaue nach was wirklich im responseText drin steht.
15. Oktober 200816 j Der Aufruf der beiden Funktion klappt hervorragen. Und es werden auch keine Fehler ausgegeben. Der übliche Spruch ^^: "Geht nicht" ist keine ausreichende Fehlermeldung! Wird dein Serverskript überhaupt aufgerufen? Liefert es überhaupt was zurück? Was steht in deiner Antwort im Ajax-Aufruf? Hast du das auch einfach mal so "debugt", dir z.B. responseText einfach mal direkt ausgeben lassen? Findet er das richtige Element?
15. Oktober 200816 j Das Beispiel müßte im FF funktionieren, der IE rafft das nicht ohne Probleme und reagiert unwirsch auf kleinste Fehler im Code. Mit innerHTML habe ich bei den IEs immer Ärger. Mit welchem Browser hast Du das probiert ?
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.