AJAX (Asynchronous JavaScripting and XML) Forum
   Forum über „Asynchronous JavaScripting and XML“ und Web 2.0    AJAX Forum AJAX Blog AJAX Wiki AJAX Bücher

Zurück   AJAX (Asynchronous JavaScripting and XML) Forum > Für Entwickler > Sonstige Probleme


Digitalkamera
Antwort
 
LinkBack (3) Themen-Optionen
Alt 21.08.2006, 13:40   3 links from elsewhere to this Post. Click to view. #1 (permalink)
Neuer Benutzer
 
Registriert seit: 01.03.2006
Beiträge: 19
Standard Ajax-Anwendung funktioniert im IE nur beim ersten mal

Ich habe eine kleine Anwendung in AJAX geschrieben (eigentlich nicht wirklich AJAX, da ich kein XML verwendet habe, aber egal)

dabei habe ich foglenden Code geschrieben:

Code:
<script language="JavaScript" type="text/javascript">
	var xmlHttp = false;

	// create XMLHttpRequest-Instance
	// ... for Internet Explorer
	try {
   		xmlHttp  = new ActiveXObject("Msxml2.XMLHTTP");
	} catch(e) {
   		try {
	        xmlHttp  = new ActiveXObject("Microsoft.XMLHTTP");
   		} catch(e) {
	        xmlHttp  = false;
   		}
	}
	// ... for Mozilla, Opera and Safari
	if (!xmlHttp  && typeof XMLHttpRequest != 'undefined') {
   		xmlHttp = new XMLHttpRequest();
	}
	
	function changeContent(id) {
		if (xmlHttp) {
			xmlHttp.onreadystatechange = handleReadyStateChange;
			xmlHttp.open("POST", '/changecontent.cfm', true);
			xmlHttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
			xmlHttp.send("id="+id);
		}
	}
	
	function handleReadyStateChange() {
			alert("da");
		if (xmlHttp.readyState == 4) {
			response = xmlHttp.responseText;
			document.getElementById("content").innerHTML = "<br style=\"clear: left;\">" + response;
		}
	}
</script>
im Firefox funktioniert's wunderbar. Im IE auch, allerdings nur beim ersten Aufruf von changeContent(). Bei weiteren Aufrufen gelangt er nur noch in die Funktion changeContent(), aber nicht mehr in den Event-Handler handleREadyStateChange() (Das habe ich herausgefunden, indem ich in beiden Funktionen einen alert() eingefügt habe.

Wisst ihr vielleicht, wieso es im IE nur beim ersten mal funktioniert?

Danke und Gruss
Hätti
Hätti ist offline   Mit Zitat antworten
Alt 21.08.2006, 13:48   #2 (permalink)
Neuer Benutzer
 
Registriert seit: 01.03.2006
Beiträge: 19
Standard

ich habe das Problem soeben selbst gelöst...

ich musste nur die Zeile, in der ich den Event-Handler definierte an den Schluss setzen. So:

Code:
xmlHttp.open("POST", '/changecontent.cfm', true);
			xmlHttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
			xmlHttp.send("id="+id);
			xmlHttp.onreadystatechange = handleReadyStateChange;
so muss der Code aussehen... dann klappt's auch mit dem IE...
Hätti ist offline   Mit Zitat antworten
Antwort

Lesezeichen


Themen-Optionen

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre 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


LinkBacks (?)
LinkBack to this Thread: http://www.ajax-community.de/sonstige-probleme/3425-ajax-anwendung-funktioniert-ie-nur-beim-ersten-mal.html
Erstellt von For Type Datum
AJAX-Community Blog » bit2bit This thread Refback 11.01.2007 16:35
AJAX-Community Blog » Allgemein This thread Refback 05.01.2007 15:52
AJAX-Community Blog » Wie geil Internet Explorer sein könnte This thread Pingback 05.01.2007 08:42


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:59 Uhr.