[javascript] parametre POST avec '&' ds texte
Résolu
kij_82
Messages postés
4089
Date d'inscription
Statut
Contributeur
Dernière intervention
-
kij_82 Messages postés 4089 Date d'inscription Statut Contributeur Dernière intervention -
kij_82 Messages postés 4089 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
J'ai actuellement un souci pour passer une valeur à un paramètre d'url.
En bref, ma valeur contient un texte HTML lui même contenant plusieurs fois le caractères '&', ce qui provoque une "rupture" de la valeur réceptionnée dans mon script PHP.
Les détails : j'utilise en fait la fonction javascript suivante :
me permettant d'éxécuter un script PHP et de raffraichir mon interface.
Le passage de paramètre au script PHP se fait via la variable data.
Dans mon exemple, j'ai un paramètre que je nommerai 'toto' qui prend pour valeur 'papa & maman'.
Je renseigne donc de la facon suivante ma fonction :
afin de faire appel à mon script PHP.
Or, comme la valeur contient '&', dans le script PHP je ne réceptionne que "papa " comme valeur, ce qui est logique puisque le reste et interprété comme un deuxième paramètre.
Ma question est donc la suivante : existe-t-il un moyen en javascript pour encoder le caractère &, et le décoder en PHP ?
Merci pour votre aide, si vous avez des questions je suis là.
J'ai actuellement un souci pour passer une valeur à un paramètre d'url.
En bref, ma valeur contient un texte HTML lui même contenant plusieurs fois le caractères '&', ce qui provoque une "rupture" de la valeur réceptionnée dans mon script PHP.
Les détails : j'utilise en fait la fonction javascript suivante :
function callScript ( scriptName, data ){ var xhr_object = null; if(window.XMLHttpRequest) // Firefox xhr_object = new XMLHttpRequest(); else if(window.ActiveXObject) // Internet Explorer xhr_object = new ActiveXObject("Microsoft.XMLHTTP"); else { // XMLHttpRequest non supporté par le navigateur alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..."); return; } xhr_object.open("POST", scriptName, true); xhr_object.onreadystatechange = function() { if(xhr_object.readyState == 4) { //alert(xhr_object.responseText); // DEBUG MODE //document.write(xhr_object.responseText); eval(xhr_object.responseText); } } xhr_object.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); xhr_object.send(data); }
me permettant d'éxécuter un script PHP et de raffraichir mon interface.
Le passage de paramètre au script PHP se fait via la variable data.
Dans mon exemple, j'ai un paramètre que je nommerai 'toto' qui prend pour valeur 'papa & maman'.
Je renseigne donc de la facon suivante ma fonction :
callScript("monscript.php", "toto=papa & maman"
afin de faire appel à mon script PHP.
Or, comme la valeur contient '&', dans le script PHP je ne réceptionne que "papa " comme valeur, ce qui est logique puisque le reste et interprété comme un deuxième paramètre.
Ma question est donc la suivante : existe-t-il un moyen en javascript pour encoder le caractère &, et le décoder en PHP ?
Merci pour votre aide, si vous avez des questions je suis là.
A voir également:
- [javascript] parametre POST avec '&' ds texte
- Texte de chanson gratuit pdf - Télécharger - Vie quotidienne
- Remettre parametre usine pc - Guide
- Parametre dns - Guide
- Parametre windows - Guide
- Transcription audio en texte word gratuit - Guide
2 réponses
La fonction javascript escape() permet de faire ceci. (https://www.w3schools.com/jsref/jsref_escape.asp
Du coté PHP, ce sera urldecode(); (https://www.php.net/manual/fr/function.urldecode.php
Du coté PHP, ce sera urldecode(); (https://www.php.net/manual/fr/function.urldecode.php
Merci pour ta réponse, j'ai trouvé depuis et effectivement c'est la fonction escape() coté javascript qu'il faut utiliser.
Coté PHP je n'ai finalement pas eu à inverser la conversion car j'enregistre dans une bdd directe, puis je reprends de cette bdd pour afficher dans un éditeur qui comprends le format "converti".
Coté PHP je n'ai finalement pas eu à inverser la conversion car j'enregistre dans une bdd directe, puis je reprends de cette bdd pour afficher dans un éditeur qui comprends le format "converti".