AJAX vraagje
Hallo allemaal,
Ik heb het volgende script (test.html).
Het script leest om de 5 seconde dmv het bestand bord.php uit en toont de output gegevens in de div, zonder iets te hoeven refreshen.
Het werkt uitstekend in firefox, maar in IE werkt het niet. IE schijnt de oude gegevens altijd te onthouden, al wijzig ik bord.php naar iets heel anders staat er in IE nog steeds de oude gegevens in test.html. In Firefox word het gewoon goed verandert.
Wat IE dus wel doet is één keer tijdens het openen van test.html de gegevens laten zien, maar deze wijzigen hierna niet meer terwijl de gegevens dus wel gewijzigd zijn.
okj het script:
en de huidige code in bord.php
Wie weet wat het probleem in IE is? Alvast bedankt!
Ik heb het volgende script (test.html).
Het script leest om de 5 seconde dmv het bestand bord.php uit en toont de output gegevens in de div, zonder iets te hoeven refreshen.
Het werkt uitstekend in firefox, maar in IE werkt het niet. IE schijnt de oude gegevens altijd te onthouden, al wijzig ik bord.php naar iets heel anders staat er in IE nog steeds de oude gegevens in test.html. In Firefox word het gewoon goed verandert.
Wat IE dus wel doet is één keer tijdens het openen van test.html de gegevens laten zien, maar deze wijzigen hierna niet meer terwijl de gegevens dus wel gewijzigd zijn.
okj het script:
Code (php)
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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
<html>
<body onload="ajaxFunction();">
<script type="text/javascript">
var sec = 5;
var interval = sec * 1000;
function ajaxFunction()
{
var xmlHttp;
try
{
// Firefox, Opera 8.0+, Safari
xmlHttp=new XMLHttpRequest();
}
catch (e)
{
// Internet Explorer
try
{
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{
try
{
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e)
{
alert("Your browser does not support AJAX!");
return false;
}
}
}
xmlHttp.onreadystatechange=function()
{
if(xmlHttp.readyState==4)
{
document.getElementById('tekst').innerHTML = xmlHttp.responseText;
}
}
xmlHttp.open("GET","bord.php",true);
xmlHttp.send(null);
}
window.setInterval("ajaxFunction()",interval);
</script>
<div id="tekst"></div>
</body>
</html>
<body onload="ajaxFunction();">
<script type="text/javascript">
var sec = 5;
var interval = sec * 1000;
function ajaxFunction()
{
var xmlHttp;
try
{
// Firefox, Opera 8.0+, Safari
xmlHttp=new XMLHttpRequest();
}
catch (e)
{
// Internet Explorer
try
{
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{
try
{
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e)
{
alert("Your browser does not support AJAX!");
return false;
}
}
}
xmlHttp.onreadystatechange=function()
{
if(xmlHttp.readyState==4)
{
document.getElementById('tekst').innerHTML = xmlHttp.responseText;
}
}
xmlHttp.open("GET","bord.php",true);
xmlHttp.send(null);
}
window.setInterval("ajaxFunction()",interval);
</script>
<div id="tekst"></div>
</body>
</html>
en de huidige code in bord.php
Wie weet wat het probleem in IE is? Alvast bedankt!
Gewijzigd op 01/01/1970 01:00:00 door Leendert
Gesponsorde koppelingen:
ik gebruik deze settings
Probeer eens de XMLHttpRequestObject te resetten ?
Code (php)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
var XMLHttpRequestObject = false; //Resetten van XMLHttpRequestObject
// Standaard controle van browser en vervolgens initialiseren XMLHttpRequest
if (window.XMLHttpRequest) {
// Firefox, Opera 8.0+, Safari
XMLHttpRequestObject = new XMLHttpRequest();
} else if (window.ActiveXObject) {
// Internet Explorer
XMLHttpRequestObject = new ActiveXObject("Microsoft.XMLHTTP");
}
// Standaard controle van browser en vervolgens initialiseren XMLHttpRequest
if (window.XMLHttpRequest) {
// Firefox, Opera 8.0+, Safari
XMLHttpRequestObject = new XMLHttpRequest();
} else if (window.ActiveXObject) {
// Internet Explorer
XMLHttpRequestObject = new ActiveXObject("Microsoft.XMLHTTP");
}
Probeer eens de XMLHttpRequestObject te resetten ?
Cache, dat is het probleem in IE. Oplossing is gelukkig simpel: zorg ervoor dat je altijd een andere URL aanroept. (Je kan ook netter & ingewikkelder bezig gaan met headers overigens)
Regel 37 wordt dan iets in de richting van:
Regel 37 wordt dan iets in de richting van:
ah bedankt Jelmer,ik denk dat het zoiets is inderdaad.



