Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : certain caractère non transmis avec POST [ Framework / Ajax ] (supers03)

vendredi 18 janvier 2008 à 09:41:25 | certain caractère non transmis avec POST

supers03

Bonjour,

Lorsque j'envoi  des données via ajax et la méthode POST, le caractère '+' n'est pas transmis, il est remplacé par un espace. J'imagine que c'est un problème d'encodage, mais je n'arrive pas à trouver la solution.

Pour info j'utilise :
setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
(j'ai copié/collé cette ligne sur un exemple d'ajax trouvé sur le net, donc si je doit la changer il n'y a pas de problème)
et pour le moment je n'ai pas défini d'header dans le script php qui reçoit.

Quelqu'un aurai un élément de réponse qui pourai me permettre d'avancer ?
merci d'avance,
Sylvain

vendredi 18 janvier 2008 à 15:47:31 | Re : certain caractère non transmis avec POST

nickydaquick

Membre Club

Salut,
il y a certains caracteres qui sont reserves et doivent etre encodes explicitement pour etre transmis

$     = %24
&    = %26
+     =%2B
,      =%2C
/      =%2F
:      =%3A
;      =%3B
=     =%3D
?     =%3F
@   =%40

comme tu as tu le remarquer, il s'agit d'un ? suivant de la valeur un code ascii en Hexadecimal

J'espere avoir aide, salut


je suis heureux de faire partie d'une grande famille ...!

vendredi 18 janvier 2008 à 16:42:15 | Re : certain caractère non transmis avec POST

supers03

    Merci pour la réponse
C'est pas très pratique tout ça, y'aurai-t-il une/des fonctions qui encore ça directement ? bon toute façon je vais remplacer ça à la main c'est pas long à écrire.

je test ça et je valide la réponse :p

vendredi 18 janvier 2008 à 16:53:05 | Re : certain caractère non transmis avec POST

supers03

Après vérification, le problème n'est pas là. En effet, les caractères tel que "?", "%" marchent très bien. par contre :
"+" donne " "
"€" donne "%u20AC"
Je sais pas, mais y'aurai pas moyen de coder la chaine de caractère en UTF8 par exemple, l'envoyer et decoder deriere ? parce que là c'est bizarre de pas pouvoir utiliser ce genre de symbole. Parce que moi j'ai besoin de tout ces symbole, je peu m'amuser à faire mon propre codage mais je vois pas pourquoi ça n'existerai pas, je suis surement pas le seul à vouloir utiliser l'ajax avec un "+" quand même

vendredi 18 janvier 2008 à 16:58:01 | Re : certain caractère non transmis avec POST

nickydaquick

Membre Club

Salut, tu es certain que lorsque tu remplaces le '+' par '%2B' , ton post ne passe pas ? parce que un espace dans un POST ca existe pas mon ami.

je suis heureux de faire partie d'une grande famille ...!

vendredi 18 janvier 2008 à 17:08:48 | Re : certain caractère non transmis avec POST

PetoleTeam

Membre Club
Réponse acceptée !
Bonjour,
voir du coté de encodeURIComponent()
alert( encodeURIComponent('Bonjour+Toi'));
;O)

samedi 19 janvier 2008 à 11:42:34 | Re : certain caractère non transmis avec POST

supers03

    nicky :
-j'envoi "+", et coté PHP je recupere le POST est c'est un espace " "
-j'envoi "%2B", et coté PHP je recupere "%2B"
... donc je veu bien que ça n'existe pas mais ça doit convertir tout seul... du coup je comprend plus rien

petole : excellente comme fonction, j'encode, j'envoi, le PHP garde ça en %2B je decode dans la fonction de retour en javascript

Merci à tout les deux ^_^

samedi 19 janvier 2008 à 19:32:57 | Re : certain caractère non transmis avec POST

nickydaquick

Membre Club
Salut,
je doute que encodeURIComponent() fonctionne correctement avec internet explorer (meme Opera). A force de chercher un moyen trop facile tu risques de t'envenimer l'existence. Mais du courage le frere.

je suis heureux de faire partie d'une grande famille ...!

samedi 19 janvier 2008 à 19:45:20 | Re : certain caractère non transmis avec POST

nickydaquick

Membre Club

Salut,
voici les caracteres non pris en charge par : encodeURIComponent()
le tilde  =    ~
le point d'exclamation = !
le signe de multiplication = *
la parenthese ouvrante = (
la parenthese fermante = )
l'apostrophe =   ' (single quote)

en ce qui concerne l'apostrophe et le tilde, bon courage.
le reste est OK.

je suis heureux de faire partie d'une grande famille ...!

lundi 11 février 2008 à 17:39:22 | Re : certain caractère non transmis avec POST

DieMaster

Personnelement j'utilise : " valeur = escape(valeur).replace(/\+/g,'%2B'); " & ca passe très bien, je n'ai pas encore eu de problemes.

[Die_Master]



Cette discussion est classé dans : caractère, post, ajax, certain, transmis


Répondre à ce message

Sujets en rapport avec ce message

une seul variable post passe avec ajax ? [ par caviar ] Saluté...j'ai un petit problème bizare avec une fonction ajaxen fait un seul des paramètres que je veux envoyer à mon script php passe apparamentsi le pb de post dans un ajax à cause des accents [ par ludovicanceaux ] Salut à tous, voilà, j'essaye de faire une requète ajax en post avec un textarea, les données saisi dedans sont de ce style :Production:    Bois:    Méthode POST (AJAX) sous Safari [ par eplanet ] Bonjour à tous, voilà mon problème, j'essaie d'utiliser la méthode POST en AJAX, ca marche bien sous Firefox et sous IE (6 et 7), mais pas sous Safari Iframe -> Ajax [ par piep14 ] Bonsoir, j'ai fait une page : http://www.justacote.com/index2.php où l'on peut voir une carte en bas après un chargement excessivement long. Cette car Rechargement AJAX javascript non réactualisé [ par Steph115 ] Bonjour,J'ai un petit souci depuis pas mal de temps mais qui en ce moment devient problématique.J'ai sur une page une partie en AJAX qui réactualise u Recuperer des valeurs d'un formulaire pour creer une requete mysql [ par Ze_lola ] Bonjour a tous! Alors voila j'ai un petit problème concernant ajax:il faut que je recupere des valeurs d'un formulaire et que je les réincjecte dans u Decomposition chaine de caractère formulaire HTML [ par ben010 ] Bonjour,J'ai un formulaire HTML qui permet d'introduire le nom de la personne.  Je dois envoyer cette chaine de caractères vers un automate Siemens.  Ajax.Request utilisant un jsessionid [ par el_teedee ] Bonjour, voilà, dans mon navigateur j'effectue une requête ajax, sur un évènement javascript (exemple, sur un onunload).Le problème, c'est que côté se Probleme affichage AJAX/PHP/DIV - Aidez moi svp! [ par kellogs ] Bonjour à tous et toutes!Voilà j'ai un souci avec un code AJAX. En fait, je réussi à charger ma page 'admin.php' dans le div 'content' mais celle ci d Probleme traitement de donnée d'un formulaire recuperer en ajax [ par ssabard ] Bonjour j'ai un soucis je n'arrive pas a recuperer les values des select et input text remplit a l'aide d'ajax pour traiter un formualire.J'ai une lis


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,686 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.