11-05-2008, 10:06 PM
(Modification du message : 13-07-2008, 01:14 AM par Sephi-Chan.)
Hello!
Question théorique, suite à un problème pratique:
Je crée mon chat ajax, de base. Pour limiter au max le transfert de données, j'ai pris deux idées de base: une fois la page affichée, j'appelle une fonction load_chat(); qui va me demander (ajax) les messages posté depuis ma dernière demande (donc, jamais, au début).
Je recois mes messages, et je les stocke dans une variable array() définie au tout début de ma partie JS (hors de toute fonction, tout premier truc déclaré). A l'arrivée des infos, je mets ces données (ID utilisateur, message, time) dans le tableau, dans une nouvelle ligne. Ca, ca marche. (bref: tous les messages sont dans un tableau JS, qui grossit à chaque requete ajax)
Cette fonction, une fois finie, appelle une fonction maj_chat(), dont le but est de reprendre les messages, les mettre en forme, et les envoyer dans le div correspondant. Ca marche aussi.
Oui, mais j'ai l'ID utilisateur, pas son nom (oui, c'est fait expres... un ID est plus léger qu'un pseudo)... meme pricncipe: un autre tableau JS, déclaré juste après le premier (celui des messages). A chaque message dans le tableau 1, je vérifie si l'ID utilisateur a une correspondance dans le tableau des Pseudos. Si oui => je le récupère, et je passe au message suivant. Si non => ajax (nouvelle fonction): je le récupère. La fonction me sort bien en retour la chaine "ID*Pseudo". Par contre, IMPOSSIBLE de rajouter ces données dans le tableau des Pseudos... (j'ai essayé le copier/coller du code des messages, rigoureusement identique, sans succès)
Auriez-vous une idée du pourquoi que ca va pas?
Question théorique, suite à un problème pratique:
Je crée mon chat ajax, de base. Pour limiter au max le transfert de données, j'ai pris deux idées de base: une fois la page affichée, j'appelle une fonction load_chat(); qui va me demander (ajax) les messages posté depuis ma dernière demande (donc, jamais, au début).
Je recois mes messages, et je les stocke dans une variable array() définie au tout début de ma partie JS (hors de toute fonction, tout premier truc déclaré). A l'arrivée des infos, je mets ces données (ID utilisateur, message, time) dans le tableau, dans une nouvelle ligne. Ca, ca marche. (bref: tous les messages sont dans un tableau JS, qui grossit à chaque requete ajax)
Cette fonction, une fois finie, appelle une fonction maj_chat(), dont le but est de reprendre les messages, les mettre en forme, et les envoyer dans le div correspondant. Ca marche aussi.
Oui, mais j'ai l'ID utilisateur, pas son nom (oui, c'est fait expres... un ID est plus léger qu'un pseudo)... meme pricncipe: un autre tableau JS, déclaré juste après le premier (celui des messages). A chaque message dans le tableau 1, je vérifie si l'ID utilisateur a une correspondance dans le tableau des Pseudos. Si oui => je le récupère, et je passe au message suivant. Si non => ajax (nouvelle fonction): je le récupère. La fonction me sort bien en retour la chaine "ID*Pseudo". Par contre, IMPOSSIBLE de rajouter ces données dans le tableau des Pseudos... (j'ai essayé le copier/coller du code des messages, rigoureusement identique, sans succès)
Auriez-vous une idée du pourquoi que ca va pas?
attendez, je cherche...