Bonsoir à tous,
j'aurais besoin de votre aide sur une partie de mon code qui ne fonctionne pas correctement...
j'ai pas mal modifié de choses et je dois avoir fait quelque chose de travers mais impossible de m'y retrouver !
voici les explications...
j'ai une page JSP qui a 3 div différent qui appellent chacun une fonction de mon fichier .js
les trois commandes sont à peu près identiques, elle envoient un tag spécifique à une Servlet qui renvoit des données d"une base de données au Javascript.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 <div id="alarms" align="left"> <script type="text/JavaScript"> checkForCapteurs(); </script> </div> <div id="messages" align="left"> <script type="text/JavaScript"> checkForMessages(); </script> </div> <div id="commandes" align="left"> <script type="text/JavaScript"> checkForCommandes(); </script> </div>
en debuggant avec Firebug je vois bien les HTTP GET qui sont fait sur ma servlet, les données sont bien recues par mon Javascript, là pas de soucis, mais le problème vient que mes fonctions JavaScript ne semblent pas être appellées systématiquement a l'ouverture de la page...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98 var req; function initRequest(url) { if (window.XMLHttpRequest) { req = new XMLHttpRequest(); } else if (window.ActiveXObject) { req = new ActiveXObject("Microsoft.XMLHTTP"); } } function checkForMessages() { var url = "http://192.168.0.10:8080/EMI/ModulePooling/messages"; initRequest(url); req.onreadystatechange = processReqMessages; req.open("GET", url, true); req.send(null); } // callback function processReqMessages() { var select = window.document.getElementById("messages"); if (req.readyState == 4) { if (req.status == 200) { select.innerHTML = ""; var message = ""; var elements = req.responseXML.getElementsByTagName("message"); for(var i=0;i<elements.length;i++){ message += elements[i].firstChild.nodeValue+ "<br />"; } select.innerHTML += message + "<br />"; } else{ select.innerHTML += "Erreur de reception <br />"; } // sleep de 5s et on repart setTimeout("checkForMessages()", 5000); } } function checkForCapteurs() { var url = "http://192.168.0.10:8080/EMI/ModulePooling/capteurs"; initRequest(url); req.onreadystatechange = processReqCapteurs; req.open("GET", url, true); req.send(null); } // callback function processReqCapteurs() { var select = window.document.getElementById("alarms"); if (req.readyState == 4) { if (req.status == 200) { select.innerHTML = ""; var message = ""; var elements = req.responseXML.getElementsByTagName("capteur"); for(var i=0;i<elements.length;i++){ message += "<tr><td>"+elements[i].firstChild.nodeValue+"</td></tr>"; } select.innerHTML = "<table class=\"t2\"><tbody>" + message + "</tbody></table>"; } else{ select.innerHTML += "Erreur de reception <br />"; } // sleep de 5s et on repart setTimeout("checkForCapteurs()", 5000); } } function checkForCommandes() { var url = "http://192.168.0.10:8080/EMI/ModulePooling/commandes"; initRequest(url); req.onreadystatechange = processReqCommandes; req.open("GET", url, true); req.send(null); } // callback function processReqCommandes() { var select = window.document.getElementById("commandes"); if (req.readyState == 4) { if (req.status == 200) { select.innerHTML = ""; var message = ""; var elements = req.responseXML.getElementsByTagName("commande"); for(var i=0;i<elements.length;i++){ message += elements[i].firstChild.nodeValue+"<br />"; } select.innerHTML += message + "<br />"; } else{ select.innerHTML += "Erreur de reception <br />"; } // sleep de 5s et on repart setTimeout("checkForCommandes()", 5000); } }
Quelque fois je n'ai que le DIV commande qui est mis à jour, quelque fois le DIV capteur + commande est mis à jour...
je sèche...qu'en pensez vous ? est ce que c'est une bonne pratique pour avoir une dynamique sur ma page ? pas trop gourmand au final ?
Merci,
Tiamat.
Partager