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
- Variable d'environnement temp - Forum Word
- Javascript void 0 c'est quoi ✓ - Forum Réseaux sociaux
- Vba range avec variable ✓ - Forum VB / VBA
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.