Ajax, xhr.send() et caracteres speciaux.
Résolu
Drclown
Messages postés
15
Date d'inscription
Statut
Membre
Dernière intervention
-
AssassinTourist Messages postés 6029 Date d'inscription Statut Contributeur Dernière intervention -
AssassinTourist Messages postés 6029 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour, j'ai un problème lorsque je veux envoyer une saisie en AJAX avec send(). Pour info j'envoie les données par POST comme ceci:
Le problème est que lorsque je tape un & dans la saisie et que j'exécute, send() est bloqué par ce & qui l'interprète comme ça:
Comment je peux faire pour que les & soit envoyer dans ma page ajax.php ?
xhr.send("donnees="+donnees);
Le problème est que lorsque je tape un & dans la saisie et que j'exécute, send() est bloqué par ce & qui l'interprète comme ça:
xhr.send("donnees=&");
Comment je peux faire pour que les & soit envoyer dans ma page ajax.php ?
A voir également:
- Ajax, xhr.send() et caracteres speciaux.
- Caractère spéciaux - Guide
- Caractères spéciaux - Guide
- Caractères spéciaux mac - Guide
- Caractères ascii - Guide
- Raccourcis clavier word caractères spéciaux pdf - Guide
4 réponses
Bonjour,
Les backslasher peut-être.
Les backslasher peut-être.
Drclown
Messages postés
15
Date d'inscription
Statut
Membre
Dernière intervention
Comment ça? avec des antislashs?
AssassinTourist
Messages postés
6029
Date d'inscription
Statut
Contributeur
Dernière intervention
1 312
Oui. Faire une sorte de regex pour rajouter des antislashs devant des caractères spéciaux.
Merci Assassintourist en mettant un antislash le & est interprété comme une chaine!
Le code
Le code
xhr.send("donnees=/&");me renvoi:
&J'ai plus qu'a faire une regex et c'est bon =D
Désolé mais faite ça ne marche pas je mettais tromper l'antislash avant le & bloque toujours la méthode send()...
D'autre idées peu être?
D'autre idées peu être?
J'ai trouvé la solution '&' est un séparateur dit réservé pour les URL etc... Pour permettre à send() de l'envoyer il faut utiliser la fonction encodeURIComponent() sur la chaine:
et la ça marche Youpi!!
donnees = encodeURIComponent(donnees); xhr.open('POST', 'ajax.php'); xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); xhr.send("donnees="+donnees);
et la ça marche Youpi!!