Ajax Seite laden und Div ändern

mafiamix

Mitglied
Hey,

ich versuch jetzt schon seit Stunden auf ein Ergebnis zu kommen, aber anscheinend mach ich irgendwas falsch und seh es einfach nicht.


Ich hab den folgenden Code hier mit dem ich den Inhalt einer php-Datei laden und in einem übermittelten Div ausgeben möchte.

PHP:
	var xmlHttpObject = false;
	var divid;

	if (typeof XMLHttpRequest != 'undefined') {
		xmlHttpObject = new XMLHttpRequest();
	}
	if (!xmlHttpObject) {
		try {
			xmlHttpObject = new ActiveXObject("Msxml2.XMLHTTP");
		}catch(e) {
		try {
			xmlHttpObject = new ActiveXObject("Microsoft.XMLHTTP");
		}catch(e) {
			xmlHttpObject = null;
		}
		}
	}

	function loadContent(divid, seitenurl){
		//alert("123 > "+divid);
		xmlHttpObject.open('get', seitenurl);
		xmlHttpObject.onreadystatechange = handleContent(divid);
		xmlHttpObject.send(null);
		
		return false;
	}

	function handleContent(divid){
		
		var thisobject = document.getElementById(divid);
		
		if (xmlHttpObject.readyState == 4){
			thisobject.innerHTML = xmlHttpObject.responseText;
			alert("11111111111");
		}else{
			document.getElementById(divid).innerHTML = xmlHttpObject.status;
		}
		//alert("aaaaaaaaaa >> "+thisobject.innerHTML);
	}
	
	
	//loadContent("loadedmap", "ajax/ajax_mapper.php?map&x="+xkoord+"&y="+ykoord);
	
	loadContent("infotext", "ajax/ajax_mapper.php?info&d="+district+"&x="+xkoord+"&y="+ykoord);

Das ganze wird also aufgerufen, wenn die gesamte Funktion aufgerufen wird. Sonst der Rest in der Funktion klappt alles, aber nur diese Aktualisierung geht nicht.
Ich bekomm den bisherigen (alten) Inhalt bei einer Ausgabe mit thisobject.inner.HTML, aber den neuen aus der php-Datei bekomm ich einfach nicht.
Ich denke mal, dass irgendwo der Fehler bei dem Ajax-Teil liegt (bin eher der php-Typ ;).

VG
 
Hi mafiamix,

ich denke mal nicht, dass es dadurch gleich klappt, aber ich hab dein Script mal mit einigen AJAX-Sachen von mir verglichen und abgeändert:

Javascript:
function loadContent(divid, seitenurl){ 
            var http = null;
		    try{
		        // Mozilla, Opera, Safari sowie Internet Explorer (ab v7)
		        xmlHttpObject = new XMLHttpRequest();
		   	} 
		   	catch(e) {
			    try {
			        // MS Internet Explorer (ab v6)
			        xmlHttpObject = new ActiveXObject("Microsoft.XMLHTTP");
			    } 
		        catch(e){
		            try{
		                // MS Internet Explorer (ab v5)
		                xmlHttpObject = new ActiveXObject("Msxml2.XMLHTTP");
		             } 
		             catch(e){
		             }
		        }
			}
			if(xmlHttpObject != null){
			    // Daten abrufen
				xmlHttpObject.open("GET", seitenurl, true);
				xmlHttpObject.onreadystatechange = handleContent;
				xmlHttpObject.send(null);
			}
            // Daten ausgeben
			function handleContent()  {
		        if(xmlHttpObject.readyState == 4){
	           		document.getElementById(divid).innerHTML = xmlHttpObject.responseText; 
		        }
			}
}

loadContent("infotext", "ajax/ajax_mapper.php?info&d="+district+"&x="+xkoord+"&y="+ykoord);
- sind die Variablen district, xkoord und ykoord an der Stelle des Aufrufs bekannt?
- Giebt es am angegebenen Pfad ein funktionierendes PHP-Script?
- die Variable 'info' bekommt keinen wert, bin mir aber nicht sicher, ob das nicht auch doch so erlaubt ist.

Gruß
 
Zuletzt bearbeitet von einem Moderator:
Hi JavaDeveloper,

- sind die Variablen district, xkoord und ykoord an der Stelle des Aufrufs bekannt?
- Giebt es am angegebenen Pfad ein funktionierendes PHP-Script?
- die Variable 'info' bekommt keinen wert, bin mir aber nicht sicher, ob das nicht auch doch so erlaubt ist.

die Variablen district, xkoord und ykoord sind alle bekannt und eine Ausgabe über ein alert funktioniert ohne Probleme. Das php-Script liegt am angegeben Pfad und eine Ausgabe ist auch vorhanden.
Das mit .info wollte ich nur testen, ob es geht, aber das würde ja sowieso nur kommen, wenn es als Fehlermeldung behandelt wird bzw., wenn es nicht geklappt hat.

Habs gerade mal ausprobiert und es funktioniert.
Danke für deine schnelle Hilfe. :)
 
Zuletzt bearbeitet:
Zurück