Objet XMLHttpRequest + erreur caractères

Répondre
Bzh
le 22/04/2005 à 21:14
Bzh
Bonjours tout le monde...

Voila, comme d' habitude, je sêche encore sur un problème javascript !!! Et, oui... smiley

Je suis entrain de créer un chat en javascript (oui je sais c' est pas recommandé)...

Et, pour cela, j' utilise l' objet XMLHttpRequest, qui permet d' envoyer et de récupérer des données sans recharger ça page !!!!
function receiveData()
{



var page = "./chat/lecture_message.php";


if(document.all)
{
//Internet Explorer
var XhrObj = new ActiveXObject("Microsoft.XMLHTTP") ;
}//fin if
else
{
//Mozilla
var XhrObj = new XMLHttpRequest();
}//fin else

//définition de l'endroit d'affichage:
var content = document.getElementById("contenu");

//Ouverture du fichier en methode POST
XhrObj.open("POST", page);


//Ok pour la page cible
XhrObj.onreadystatechange = function()
{
if (XhrObj.readyState == 4 && XhrObj.status == 200)
content.innerHTML += XhrObj.responseText ;
if( XhrObj.responseText != "" ){content.scrollTop=content.scrollHeight-content.clientHeight;}
}


XhrObj.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
XhrObj.send(null);



clearTimeout(timer);
timer = setTimeout('receiveData();',3000);



}//fin fonction SendData

/**
* Permet de récupérer les données d'un fichier via les XmlHttpRequest:
*/


Et bin, je suis en méthode POST et pourtant si j' ai le malheure d' avoir un "à" dans mes données et bin il se transforme en "Ã" et je vous parle pas des "+" et des "&" qui eux disparaissent (bizard je suis en POST et non en GET)!!!

Je déspère...

Merci pour votre aide.

Ciao...
Bzh
le 24/04/2005 à 11:27
Bzh
Heu... Personne ne peut m' aider ??? smiley

Peut être que cela viendrait de l' entête ??? Non ???
XhrObj.setRequestHeader('Content-Type','application/x-www-form-urlencoded');


Y a t' il une autre entête pour les envoies POST ???

Merci...


Ciao...
Bzh
le 25/04/2005 à 00:56
Bzh
Pitié !!!! Aidez-moi...

Vraiment personne ne peut m' aider ??? Les bon en Javscript là !!! Non ????

S' il vous plait !!! Sérieusement, je suis vraiment bloqué...

smiley
mojorisin
le 25/04/2005 à 09:43
mojorisin
Le problème vient de tes données envoyées. Le principe reste le même que lorsque tu envoies des requêtes depuis un navigateurs ou un script php, tu dois encoder les caractères spéciaux.
Regarde du coté de la fonction encodeURIComponent
echo ’16i[q]sa[ln0=aln100%Pln100/snlbx]sbA0D4D465452snlbxq’|dc
Bzh
le 25/04/2005 à 12:20
Bzh
Merci, j' y avais pensé à encodé ma chaine...

Mais ce que je ne comprends pas, c' est que je suis en méthode POST !!!!

Donc, normalement, il ne devrait pas avoir besoin de coder la chaine à envoyer...

Merci de ton aide.
bibi
le 25/04/2005 à 16:16
bibi
c'est exactement pareil post et get
sauf que get se voit dans l'url, post non
commit suicide
Répondre

Ecrire un message

Votre message vient d'être créé avec succès.
LoadingChargement en cours