Passer une variable depuis nodejs vers html avec socket io emit
Résolu/Fermé
wanwanwan
Messages postés
14
Date d'inscription
mercredi 31 mars 2021
Statut
Membre
Dernière intervention
12 avril 2021
-
6 avril 2021 à 19:42
wanwanwan Messages postés 14 Date d'inscription mercredi 31 mars 2021 Statut Membre Dernière intervention 12 avril 2021 - 7 avril 2021 à 14:30
wanwanwan Messages postés 14 Date d'inscription mercredi 31 mars 2021 Statut Membre Dernière intervention 12 avril 2021 - 7 avril 2021 à 14:30
A voir également:
- Passer une variable depuis nodejs vers html avec socket io emit
- Restore photo io - Télécharger - Retouche d'image
- Editeur html - Télécharger - HTML
- Passer de windows 7 à windows 10 - Accueil - Mise à jour
- Passer de qwerty a azerty - Guide
3 réponses
wanwanwan
Messages postés
14
Date d'inscription
mercredi 31 mars 2021
Statut
Membre
Dernière intervention
12 avril 2021
Modifié le 7 avril 2021 à 10:01
Modifié le 7 avril 2021 à 10:01
Bonjour,
Le truc c'est que je veux afficher sur la page html la variable "info", qui existe car lorsque je l'affiche sur la console nodejs ( console.log(info) ) alors cela m'affiche bien les infos demandées. Donc de ce coté c'est ok.
La ou ça bloque c'est que mon script sur ma page html n'est pas bon. Les 2 lignes ne doivent pas aller :
Je ne sais pas comment "dire" au script : "récupère la variable" et "écrit la dans la page html".
=======================
Je viens de tester une autre méthode :
script de la page html :
code nodejs :
cela fonctionne partiellement car j'ai un affichage dans ma page html mais pas le bon..
En gros au lieu d'afficher la valeur transmise, ça affiche : [object Object]
Les infos que je veux afficher sont : {'time' : temps}
temps étant un entier.
Le truc c'est que je veux afficher sur la page html la variable "info", qui existe car lorsque je l'affiche sur la console nodejs ( console.log(info) ) alors cela m'affiche bien les infos demandées. Donc de ce coté c'est ok.
La ou ça bloque c'est que mon script sur ma page html n'est pas bon. Les 2 lignes ne doivent pas aller :
socket.on('messageFromServer', function (data) {
console.log(data.messageFromServer); });
Je ne sais pas comment "dire" au script : "récupère la variable" et "écrit la dans la page html".
=======================
Je viens de tester une autre méthode :
script de la page html :
<ul id="messagesList">
</ul>
<script src="/socket.io/socket.io.js"></script>
<script>
var socket = io();
var list = document.getElementById("messagesList");
socket.on('messageFromServer', function (data) {
var item = document.createElement('li');
item.innerHTML = data;
list.appendChild(item);
});
</script>
code nodejs :
app.post('/timer', function(req, res){
res.sendFile(__dirname + '/public/status.html');
var info = req.body;
io.emit('messageFromServer', info);
console.log(info)
});
cela fonctionne partiellement car j'ai un affichage dans ma page html mais pas le bon..
En gros au lieu d'afficher la valeur transmise, ça affiche : [object Object]
Les infos que je veux afficher sont : {'time' : temps}
temps étant un entier.
wanwanwan
Messages postés
14
Date d'inscription
mercredi 31 mars 2021
Statut
Membre
Dernière intervention
12 avril 2021
7 avril 2021 à 12:07
7 avril 2021 à 12:07
Pour suite, j'ai testé la modification :
quand j'exécute le tout, j'ai maintenant l'affichage " undefined " dans la zone ou je souhaite afficher les infos.
La question reste alors comment définir ma variable ...
<ul id="messagesList">
</ul>
<script src="/socket.io/socket.io.js"></script>
<script>
var socket = io();
var list = document.getElementById("messagesList");
socket.on('messageFromServer', function (data) {
var item = document.createElement('li');
item.innerHTML = data.time;
list.appendChild(item);
});
</script>
quand j'exécute le tout, j'ai maintenant l'affichage " undefined " dans la zone ou je souhaite afficher les infos.
La question reste alors comment définir ma variable ...
wanwanwan
Messages postés
14
Date d'inscription
mercredi 31 mars 2021
Statut
Membre
Dernière intervention
12 avril 2021
7 avril 2021 à 14:30
7 avril 2021 à 14:30
En fait ce code fonctionne et affiche les valeurs (entiers) contenus dans ma variable initiale. Donc c'est ok.