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?
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> |