begin process at 2012 02 13 13:21:30
  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 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 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 [Ajax] Récupérer données XML sur une url externe [Méthode POST] [ par sarahjtm ] Bonsoir, Je vous explique très vite mon problème : Je fais un validateur de code allopass en Javascript/Ajax, le problème c'est que l'API Allopass post formulaire vers une frame d'une autre page [ par xzonz ] salut a tous et toutes [^^clinoeil1] voila ce que je voudrais faire: j'ai une page avec un formulaire et un bouton submit classique (dans action = m Ajax Probleme de recuperation du caracteres & et de ce qui le suit [ par lesucces ] Bonjour J'ai un formulaire ajax qui me permet de recuperer les données d'un textareas et ça marche correctement sauf que quand je tape le caractere & recherche automatique ave Ajax [ par cyrilherve ] bonjour à tous, je developpe des applis web avec php/mysql et un peu de java, mais j' avoue que ajax est vraiment inconnu pour moi. la je boss sur une [clos] 3 liste deroulante liées PHP/MYSQL/AJAX [ par zied86 ] Bonjour; j'ai un probleme avec les listes deroulantes liées j'ai trois table (tab1, tab2, tab3) tab1 contient un ou plusieurs tab2 tab1 contient u [Débutant] Filtres, groupes et trie dynamiques et multicritères [ par Cwotte ] Bonjour à tous, Je suis développeur PHP et j'aimerais développer un projet plus dynamiquement que prévu car les serveurs de l'entreprise sont suffisa


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

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,484 sec (3)

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