begin process at 2010 03 18 00:10:49
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Javascript / DHTML / Ajax

 > 

Framework

 > 

Ajax

 > 

certain caractère non transmis avec POST


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

certain caractère non transmis avec POST

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ée 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:    ajax / php envoi en post de variables a une page php non prise en compte [ par milan78 ] bonjour,j ai un formulaire je recolte les donnees de l utilisateur ensuite les traites avec fonction ajax.udapter afin de l afficher dans une div sans 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


Nos sponsors


Appels d'offres

Sondage...

Comparez les prix


HTC Magic

Entre 429€ et 429€

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Photothèque

 
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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,312 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales