You are not logged in.

  • Login

1

Saturday, April 29th 2006, 6:55pm

AJAX Script funktioniert nicht mit IE

hoi

Also ich hab das Problemm das das Folgende Script nicht mit Internet Explorer funktionirt :( was kann man da machen ??

JavaScript Code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
var xmlHttp = false;
 
try {
    xmlHttp  = new ActiveXObject("Msxml2.XMLHTTP");
} catch(e) {
    try {
        xmlHttp  = new ActiveXObject("Microsoft.XMLHTTP");
    } catch(e) {
        xmlHttp  = false;
    }
}
 
if (!xmlHttp  && typeof XMLHttpRequest != 'undefined') {
    xmlHttp = new XMLHttpRequest();
}
 
loadData();
 
setInterval("loadData()",500);
 
function loadData()
{
 if (xmlHttp) {
     xmlHttp.open('GET', 'getdata.php', true);
     xmlHttp.onreadystatechange = function () {
         if (xmlHttp.readyState == 4) {
             document.getElementById("content").innerHTML = xmlHttp.responseText;
         }
     };
     xmlHttp.send(null);
 }
}

2

Saturday, April 29th 2006, 7:34pm

hi,
was genau funktioniert denn nicht?

hab das xmlHttp Objekt mal anders initialisiert und ein paar sachen hin- und herverschoben, so dass am codebau nichts geändert wurde

JavaScript Code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
try {
	var xmlHttp  = window.XMLHttpRequest?new XMLHttpRequest(): 
		new ActiveXObject("Microsoft.XMLHTTP"); 
} catch(e) {
	var xmlHttp = false;
}
 
function loadData()
{
	if (xmlHttp) {
		xmlHttp.onreadystatechange = function () {
			if (xmlHttp.readyState == 4)
				document.getElementById("content").innerHTML = xmlHttp.responseText;
		};
		xmlHttp.open('GET', 'getdata.php', true);
		xmlHttp.send(null);
	}
}
 
setInterval("loadData()",500);

3

Saturday, April 29th 2006, 7:50pm

hoi erstmal danke für deine schnelle antwort ist schonmal eine überlegung wert das Forum öfters zu Besuchen ;)


hatte versehentlich unten was vergessen jetzt wird der code vieleicht auch verstentlicher... es ist ein reload mit ajax

Hier nochmal der gesammte code ;)

JavaScript Code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
var xmlHttp = false;
 
try {
    xmlHttp  = new ActiveXObject("Msxml2.XMLHTTP");
} catch(e) {
    try {
        xmlHttp  = new ActiveXObject("Microsoft.XMLHTTP");
    } catch(e) {
        xmlHttp  = false;
    }
}
 
if (!xmlHttp  && typeof XMLHttpRequest != 'undefined') {
    xmlHttp = new XMLHttpRequest();
}
 
loadData();
 
setInterval("loadData()",500);
 
function loadData()
{
 if (xmlHttp) {
     xmlHttp.open('GET', 'getdata.php', true);
     xmlHttp.onreadystatechange = function () {
         if (xmlHttp.readyState == 4) {
             document.getElementById("content").innerHTML = xmlHttp.responseText;
         }
     };
     xmlHttp.send(null);
 }
}

4

Saturday, April 29th 2006, 8:06pm

hi,

hm, seh da jetzt genau den selben code...
aber schon klar, was passiert

irgendwo hast du noch ein <div id="content"></div> welches in bestimmten zeitintervallen, mit dem inhalt von getdata.php gefüllt wird

hast du denn irgendwelche fehlermeldungen?
mit anderen browsern funktioniert es?

5

Saturday, April 29th 2006, 8:12pm

es Funktionirt mit Firefox aber nicht mit IE

fehlermeldungen gibt es keine (leider)

ich schike dir gleich ne pn mit demo zugangsdaten für meinen chat den ich grad schreibe aber ich hab erst angefangen also nicht wundern!

7

Saturday, April 29th 2006, 8:59pm

weist du vieleicht wie man es auf IE anpassen kann ?

8

Sunday, April 30th 2006, 11:50am

funktioniert mein code denn nicht?
der eigentliche code vom wiki wurde schon oft genug auf IE systemen getestet.

und der code, den ich oben gepostet habe, enthält nur wenige abweichungen vom wiki code

9

Sunday, April 30th 2006, 12:42pm

ne funtzt nicht

10

Monday, May 1st 2006, 1:52pm

ich würd sagen, dein IE kann kein AJAX

PHP Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<?if(isset($_GET['x'])) die(''.rand(1,1000)); ?>
<html>
<head>
<script type="text/javascript">
//<![CDATA
try {
        var xmlHttp  = window.XMLHttpRequest?new XMLHttpRequest():
                new ActiveXObject("Microsoft.XMLHTTP");
} catch(e) {
        var xmlHttp = false;
}
 
function loadData()
{
        if (xmlHttp) {
                xmlHttp.onreadystatechange = function () {
                        if (xmlHttp.readyState == 4)
                                document.getElementById("content").innerHTML = xmlHttp.responseText;
                };
                xmlHttp.open('GET', 'ajax.php?x='+new Date().getMilliseconds(), true);
                xmlHttp.send(null);
        }
}
//]]>
</script>
</head>
 
<body onload="loadData()">
<div id="content"></div>
</body>
</html>

11

Monday, November 26th 2007, 12:53am

Mir geht es ganz genau so!
Benutze den selben Code, über all steht das es in IE 7 gehen MUSS! Aber das tut es nicht. Stimmt da was mit dem AjaxFramework nicht?
Wo kann man da ma was genaueres erfahren, langsam nervt das!
LG

12

Monday, November 26th 2007, 9:03am

der IE cached ein bisschen anders.
Hänge mal einen beliebigen Parameter mit new Date().getMilliseconds() an deine URL hinten dran.

Und benenne deine ausführende Datei ajax.php - das habe ich oben vergessen.
Und weils schöner ist, habe ich das Laden noch in die onload Funktion geschoben. Wenn das nicht funktioniert, dann weiß ich auch nicht weiter.

13

Friday, December 7th 2007, 5:56am

Absolut richtig. Der IE verhält sich beim cache anders.

JavaScript Code

1
xmlHttp.open('GET', 'getdata.php', true);

Das funktioniert nicht im IE weil die Seite vom cache geholt wird.

Man muss einen zusätzlichen Parameter für den IE dazu nehmen damit der cache im IE umgangen wird.
Z.B. so.

JavaScript Code

1
xmlHttp.open('GET', 'getdata.php?id='+Math.round(Math.random()*100000+1),true);

oder so

JavaScript Code

1
xmlHttp.open('GET', 'getdata.php?x='+new Date().getMilliseconds(), true);

14

Friday, January 25th 2008, 6:36pm

Also ich hab genau das gleische Problem. Im IE geht es nicht, aber im Firefox schon.

Hier mal mein Script:

JavaScript Code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<!-- 
 
        		var req;
 
 				try {
        			req = window.XMLHttpRequest?new XMLHttpRequest(): 
                	new ActiveXObject("Microsoft.XMLHTTP"); 
				} catch (e) {
        			//Kein AJAX Support
				}        			
 
				function login (nick, pass) {
 
					document.getElementById('login_btn').innerHTML = "<img src='gfx/load.gif'>";
 
        			req = window.XMLHttpRequest?new XMLHttpRequest(): 
       	 			new ActiveXObject("Microsoft.XMLHTTP");
 
        			req.onreadystatechange = function() {
                		if ((req.readyState == 4) && (req.status == 200)) { 
                        	document.getElementById('login_table').innerHTML = req.responseText;
                		}
                	}
 
                	req.open('POST', 'login.php');
                	req.setRequestHeader( 'Content-Type', 'application/x-www-form-urlencoded' );
	   				req.send('nick='+nick+'&pass='+pass);
 
	   				return false;
 
        		}       		
 
        	//-->

15

Friday, January 25th 2008, 7:21pm

Mach das xmlhttp-Objekt mal als Membervariable der Funktion. (zeilen 3-10 in #13 verschieben)

Social bookmarks