Page 1 sur 1

Ajax : envoi du caractère '+'

Posté : 25 juin 2006, 23:41
par Ryle
Bonsoir,

Un petit problème tardif que je rencontre lors de l'envoi de mes données en POST via ajax. Pour éviter les "é" et autres caractères farfelues, j'utilises la fonction utf8_decode(), sauf que lorsque ma chaine contient des "+" (des vrais, des durs !! ;)), ils sont transformés en espaces " " ...

Y a une solution simple ? Pour l'instant je pensais faire un replace en javascript (je ne sais pas encore par quoi) avant d'envoyer la chaine, mais s'il y a mieux je suis preneur ! :)

Ps : J'ai testé de remplacer par des "+" mais le & pose problème (il considère que c'est une nouvelle variable dans le post)
Pps : comment on fait pour chercher sur le forum ou sur google le caractère plus ? :)

Edit : bon, ça fonctionne avec "%2b", mais s'il y a plus propre pour l'encoder (et puis les autres caractères auxquels je ne pense pas pour l'intant auss) je suis toujours preneur :)

Posté : 26 juin 2006, 00:46
par Truc
Tu as regardé du coté de JS URIencode() ?

Posté : 26 juin 2006, 08:23
par Ryle
cool, je cherchais justement l'équivalent de l'urlencode de php :)

Bon en fait ce n'est pas URIencode, mais encodeURI, et cela ne fontionne pas pour le + mais ça m'a permis de trouver ce que je cherchais :

Il existe en fait 3 fonctions :

- escape() qui n'encode pas : @*/+
- encodeURI() qui n'encode pas : !@#$&*()=:/;?+'
- encodeURIComponent() qui n'encode pas : !*()'

j'ai donc opté pour la dernière vu que les autres caractères ne posent pas de problèmes dans l'utf8_decode() :)

Merci du coup de pouce :)

Posté : 26 juin 2006, 13:53
par Truc
Bon en fait ce n'est pas URIencode, mais encodeURI
je n'allais pas te prémacher le travail non plus :^o
(note pour moi même : apprendre à me relire)

[Résolu] :langue:

Posté : 26 juin 2006, 14:31
par Ryle
Arf, bah comme tu vois, même s'il y avait des pièges, le simple coup de pouce dans la bonne direction était suffisant :)

Bon par contre pour le [résolu], c'est pas que je veux pas le mettre, mais j'ai à chaque fois droit au message "Invalid_session" alors que je suis bien connecté et tout (vu que sinon j'aurais point le bouton) :(

Edit : bon ben non en fait.. il a suffit que je poste mon message et que je réessaye pour que cela fonctionne... j'comprendrais jamais rien à l'informatique ;)

Grand merci !

Posté : 20 juil. 2006, 15:43
par Alexandre78
Pensant être dans une impasse avec mon "&" qui faisait un nouveau paramètre lors de ma requête Ajax, je suis arrivé ici ... et bien merci beaucoup :D