Ajax variable globale javascript
Résolu
Ender-events
Messages postés
248
Statut
Membre
-
Ender-events Messages postés 248 Statut Membre -
Ender-events Messages postés 248 Statut Membre -
Bonjour, je veut que ma variable soit récupérer apres et je présise que j'ai tout fait pour que sa soit en mode synchrone
il y a plusieur fichiers
chat.php (racourci car pas trop iimportant
chat.js (synchrone)
chat2.js (asynchrone)
chat.php:
chat.js
chat2.js:
Pour le chat.js je vais diviser en 3 partie importante
function count;
Cette fonction me permais de récupérer le dernier array ou un page php va vérifiée si un array existe.
P.S.: j'utilise un array multidimensionnelle.
function refresh:
Me permait de chercher nouveau message
Les declancher
La variable last n'augmente pas.
il y a plusieur fichiers
chat.php (racourci car pas trop iimportant
chat.js (synchrone)
chat2.js (asynchrone)
chat.php:
<head> <script type="text/javascript"> var instancepseudo = '<?php echo $_SESSION["pseudo"] ?>'; var instanceimg = '<?php echo $grav_url ?>'; </script> <script type="text/javascript" src="chat.js"></script> <script type="text/javascript" async src="chat2.js"></script> </head>
chat.js
function afficheconverse() { var xhr = new XMLHttpRequest(); xhr.open('GET', 'http://localhost/Site/Traitement/chat.php?last=0'); // depuis php 0 pour recherche tout les messege xhr.onreadystatechange = function() { // vérif si aucune erreur. 200=OK crée une nouvelle fonction pour transmettre parametre if (xhr.readyState == 4 && xhr.status == 200) { if (xhr.responseText) { document.getElementById('chatbox').innerHTML = xhr.responseText; } } else if(xhr.readyState == 4 && xhr.status != 200) { alert(" Il y a une erreur avec le chat \n Code erreur: " + xhr.status + "\n veuillez réessayer ultérieurement"); } }; xhr.send(null); }; function count() { // permet de connaitre la dernier valeur du array var xhr = new XMLHttpRequest(); xhr.open('GET', 'http://localhost/Site/Traitement/chat.php?last=count'); xhr.onreadystatechange = function() { // vérif si aucune erreur. 200=OK crée une nouvelle fonction pour transmettre parametre if (xhr.readyState == 4 && xhr.status == 200) { last= xhr.responseText; } else if(xhr.readyState == 4 && xhr.status != 200) { alert(" Il y a une erreur avec le chat \n Code erreur: " + xhr.status + "\n veuillez réessayer ultérieurement"); } }; xhr.send(null); }; function refresh() { var xhr = new XMLHttpRequest(); xhr.onreadystatechange = function() { // vérif si aucune erreur. 200=OK crée une nouvelle fonction pour transmettre parametre statechange(last); }; xhr.open('GET', 'http://localhost/Site/Traitement/chat.php?last=' + last, false); // depuis php rechercher le dernier message et false donc synchrone xhr.send(null); function statechange(last) { if (xhr.readyState == 4 && xhr.status == 200) { if (xhr.responseText) { var newDiv = document.createElement('div'); newDiv.id = last var div = document.getElementById('chatbox').appendChild(newDiv); div.innerHTML = xhr.responseText var last = parseInt(last) last= last + 1; } } else if(xhr.readyState == 4 && xhr.status != 200) { alert(" Il y a une erreur avec le chat \n Code erreur: " + xhr.status + "\n veuillez réessayer ultérieurement"); } }; }; function send() { var pseudo = instancepseudo; var img = instanceimg; var texte = document.getElementById("text-input").value; var xhr = new XMLHttpRequest(); if (texte) { xhr.open('POST', 'http://localhost/Site/Traitement/chat.php'); xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); xhr.send('pseudo=' + pseudo + '&img=' + img +'&texte=' + texte); document.getElementById("text-input").value = ''; } else { alert("Vous n'avez rien écrit"); alert(img);} }; afficheconverse(); count(); setInterval(function() {refresh()}, 2500);
chat2.js:
document.getElementById('submittext').addEventListener('click', function() { //evenement pour envoyer message event.preventDefault(); send(); }, false);
Pour le chat.js je vais diviser en 3 partie importante
function count;
function count() { // permet de connaitre la dernier valeur du array var xhr = new XMLHttpRequest(); xhr.open('GET', 'http://localhost/Site/Traitement/chat.php?last=count'); xhr.onreadystatechange = function() { // vérif si aucune erreur. 200=OK crée une nouvelle fonction pour transmettre parametre if (xhr.readyState == 4 && xhr.status == 200) { last= xhr.responseText; } else if(xhr.readyState == 4 && xhr.status != 200) { alert(" Il y a une erreur avec le chat \n Code erreur: " + xhr.status + "\n veuillez réessayer ultérieurement"); } }; xhr.send(null); };
Cette fonction me permais de récupérer le dernier array ou un page php va vérifiée si un array existe.
P.S.: j'utilise un array multidimensionnelle.
function refresh:
function refresh() { var xhr = new XMLHttpRequest(); xhr.onreadystatechange = function() { // vérif si aucune erreur. 200=OK crée une nouvelle fonction pour transmettre parametre statechange(last); }; xhr.open('GET', 'http://localhost/Site/Traitement/chat.php?last=' + last, false); // depuis php rechercher le dernier message et false donc synchrone xhr.send(null); function statechange(last) { if (xhr.readyState == 4 && xhr.status == 200) { if (xhr.responseText) { var newDiv = document.createElement('div'); newDiv.id = last var div = document.getElementById('chatbox').appendChild(newDiv); div.innerHTML = xhr.responseText var last = parseInt(last) last= last + 1; } } else if(xhr.readyState == 4 && xhr.status != 200) { alert(" Il y a une erreur avec le chat \n Code erreur: " + xhr.status + "\n veuillez réessayer ultérieurement"); } }; };
Me permait de chercher nouveau message
Les declancher
afficheconverse(); count(); setInterval(function() {refresh()}, 2500);//ou setInterval(refresh, 2500)
La variable last n'augmente pas.
A voir également:
- Ajax variable globale javascript
- Telecharger javascript - Télécharger - Langages
- Vba excel sélectionner une plage de cellules variable ✓ - Forum VB / VBA
- Javascript void 0 c'est quoi ✓ - Forum Réseaux sociaux
- Variable d'environnement temp - Forum Word
- Javascript echo ✓ - Forum PHP
1 réponse
j'ai contourner le problèmes en ramplacent:
par :
J'ai appelé la fonction count est sa marche.
function statechange(last) { if (xhr.readyState == 4 && xhr.status == 200) { if (xhr.responseText) { var newDiv = document.createElement('div'); newDiv.id = last var div = document.getElementById('chatbox').appendChild(newDiv); div.innerHTML = xhr.responseText var last = parseInt(last) last= last + 1; }
par :
function statechange(last) { if (xhr.readyState == 4 && xhr.status == 200) { if (xhr.responseText) { var newDiv = document.createElement('div'); newDiv.id = last var div = document.getElementById('chatbox').appendChild(newDiv); div.innerHTML = xhr.responseText count() }
J'ai appelé la fonction count est sa marche.