Versio

AJAX vraagje

Overzicht Reageren

Leendert

leendert

13/02/2007 22:01:00
Quote Anchor link
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:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<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

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
$random
= rand(0,10);
echo $random;
?>


Wie weet wat het probleem in IE is? Alvast bedankt!
Gewijzigd op 01/01/1970 01:00:00 door Leendert
 
PHP hulp

PHP hulp

23/05/2012 20:56:14
Gesponsorde koppelingen:
 
Red Crew

Red Crew

13/02/2007 22:10:00
Quote Anchor link
ik gebruik deze settings
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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");
    }

Probeer eens de XMLHttpRequestObject te resetten ?
 
Jelmer rrrr

Jelmer rrrr

13/02/2007 22:10:00
Quote Anchor link
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:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
var rightNow = new Date();
xmlHttp.open("GET","bord.php?random=" + rightNow.getTime(),true);
 
Leendert

leendert

13/02/2007 22:58:00
Quote Anchor link
ah bedankt Jelmer,ik denk dat het zoiets is inderdaad.
 



Overzicht Reageren