Ajax : envoi du caractère '+'

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Ajax : envoi du caractère '+'

Grand merci !

par Alexandre78 » 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

par Ryle » 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 ;)

par Truc » 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:

par Ryle » 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 :)

par Truc » 26 juin 2006, 00:46

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

Ajax : envoi du caractère '+'

par Ryle » 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 :)