Ajax : envoi du caractère '+'

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

25 juin 2006, 23:41

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 :)

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

26 juin 2006, 00:46

Tu as regardé du coté de JS URIencode() ?

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

26 juin 2006, 08:23

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 :)

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

26 juin 2006, 13:53

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:

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

26 juin 2006, 14:31

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 ;)

Alexandre78
Invité n'ayant pas de compte PHPfrance

20 juil. 2006, 15:43

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