281 votes

Echappement de l'esperluette dans l'URL

J'essaie d'envoyer un message GET qui contient des chaînes avec des esperluettes et je n'arrive pas à trouver comment échapper à l'esperluette dans l'URL.

Ejemplo:

http://www.example.com?candy_name=M&M
result => candy_name = M

J'ai aussi essayé :

http://www.example.com?candy_name=M\&M
result => candy_name = M\\

J'utilise les URLs manuellement, j'ai donc juste besoin des caractères corrects.

Je ne peux utiliser aucune bibliothèque. Comment faire ?

3voto

Mohamed Ramadan Points 65

Ceci peut aider si quelqu'un veut le faire en PHP

$variable ="candy_name=M&M";
$variable = str_replace("&", "%26", $variable);

1voto

Oliver Points 214

Si vous ne pouvez utiliser aucune bibliothèque pour coder la valeur, http://www.urlencoder.org/ o http://www.urlencode-urldecode.com/ ou ...

Entrez simplement votre valeur "M&M", pas l'URL complète ;-)

0voto

nikhil Points 24

Vous pouvez plutôt passer vos arguments à l'aide de cette fonction encodeURIComponent afin de ne pas avoir à vous soucier de transmettre des caractères spéciaux.

data: "param1=getAccNos&param2="+encodeURIComponent('Dolce & Gabbana') OR
var someValue = 'Dolce & Gabbana';
data : "param1=getAccNos&param2="+encodeURIComponent(someValue)

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/encodeURIComponent

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X