[AJAX] Refresh

Pagina: 1
Acties:

  • DeepFreeze.NL
  • Registratie: April 2006
  • Laatst online: 02-03 08:01
Ik heb op me webradio een PHP script welke de statistieken en het huidige nummer uitleest. Nu wil ik dat dit script om de 15 seconde wordt herladen zonder dat hiervoor de hele pagina geladen wordt.

AJAX leek mij een mooie oplossing hiervoor. Ik heb nu de volgende code, maar wanneer ik deze pagina laad krijg ik een lege div. Wat doe ik fout?

HTML:
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
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>

<body>
<script type="text/javascript">
function getPage() {
    xmlHttp = GetXmlHttpObject();
    d = new Date();
    rand = d.getTime();
    url = "http://www.deepfreeze.nl/includes/stats.php"+rand; //rand zorgt ervoor dat het goed werkt
    xmlHttp.onreadystatechange=stateChanged;
    xmlHttp.open("GET",url,true);
    xmlHttp.send(null);
}

function stateChanged() {
    if (xmlHttp.readyState==4) {
      result = xmlHttp.responseText; // dit is de string die door PHP geecho'd wordt, die kun je dus weergeven op je pagina of wat je ook wil
    }
}

function GetXmlHttpObject() {
    var xmlHttp=null;
    try {
        // Firefox, Opera 8.0+, Safari
        xmlHttp=new XMLHttpRequest();
    }
    catch (e) {
        // Internet Explorer
        try {
            xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
        } catch (e) {
            xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
        }
    }
    return xmlHttp;
}

function reGet() {
    getPage();
    setTimeout("reGet();",3000);
}

</script>

<div id="page" style="border:1px solid #CC0000"><script type="text/javascript"> reGet(); </script></div>

</body>
</html>

  • InfoTracer
  • Registratie: November 2001
  • Laatst online: 30-11 21:07
wat staat er in stats.php
en moet je niet nog ?iets="+rand doen?
neem aan dat je niet zomaar een getal achter je url mag gooien

  • DeepFreeze.NL
  • Registratie: April 2006
  • Laatst online: 02-03 08:01
InfoTracer schreef op dinsdag 17 april 2007 @ 22:16:
wat staat er in stats.php
en moet je niet nog ?iets="+rand doen?
neem aan dat je niet zomaar een getal achter je url mag gooien
stats.php is gewoon een tabel met daarin de statistieken. Ik moet inderdaad geen willekeurig getal achter me url, het script moet gewoon de url laden zonder +rand.

Zonder +rand nog steeds geen resultaat...

  • InfoTracer
  • Registratie: November 2001
  • Laatst online: 30-11 21:07
je moet er wel rand achter gooien want dat heeft met cache temaken ofzo ben er zelf ook nog niet helemaal in thuis.
maar je moet het dan wel als get variable mee geven.
dus voorbeeld:
[code=html]
url = "http://www.deepfreeze.nl/includes/stats.php?bla="+rand;
[code]
en je kan ook Math.random() gebruiken voor een random getal ;)

  • InfoTracer
  • Registratie: November 2001
  • Laatst online: 30-11 21:07
http://www.w3schools.com/ajax/default.asp

neem deze link ff door stap voor stap dan ga je er echt zeker uitkomen want je mist nog wat belangrijke stappen/controles

  • DeepFreeze.NL
  • Registratie: April 2006
  • Laatst online: 02-03 08:01
InfoTracer schreef op dinsdag 17 april 2007 @ 22:21:
je moet er wel rand achter gooien want dat heeft met cache temaken ofzo ben er zelf ook nog niet helemaal in thuis.
maar je moet het dan wel als get variable mee geven.
dus voorbeeld:
[code=html]
url = "http://www.deepfreeze.nl/includes/stats.php?bla="+rand;
[code]
en je kan ook Math.random() gebruiken voor een random getal ;)
Hmmz, ik heb beide oplossingen geprobeerd, maar geen resultaat. Ik krijg nog steeds een lege div...

  • InfoTracer
  • Registratie: November 2001
  • Laatst online: 30-11 21:07
geen controle op browser ( xmlHttp = GetXmlHttpObject(); )

result = xmlHttp.responseText;
result komt niet vanzelf op het scherm
document.getElementById("txtHint").innerHTML=xmlHttp.responseText;

lees alsjeblieft voor je eigen best wil ff die link door want dan kan je daarna 10 keer sneller en netter werken met ajax

  • DeepFreeze.NL
  • Registratie: April 2006
  • Laatst online: 02-03 08:01
InfoTracer schreef op dinsdag 17 april 2007 @ 22:35:

lees alsjeblieft voor je eigen best wil ff die link door want dan kan je daarna 10 keer sneller en netter werken met ajax
Ik was al druk aan het lezen, bedankt alvast! :*)

  • DeepFreeze.NL
  • Registratie: April 2006
  • Laatst online: 02-03 08:01
InfoTracer schreef op dinsdag 17 april 2007 @ 22:35:
geen controle op browser ( xmlHttp = GetXmlHttpObject(); )

result = xmlHttp.responseText;
result komt niet vanzelf op het scherm
document.getElementById("txtHint").innerHTML=xmlHttp.responseText;

lees alsjeblieft voor je eigen best wil ff die link door want dan kan je daarna 10 keer sneller en netter werken met ajax
Ik heb alles nu werkende :) ! Bedankt voor die link (Ik heb weer het een en ander geleerd :) ) en voor je hulp!!
Pagina: 1