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.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 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); }
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.
Code : Sélectionner tout - Visualiser dans une fenêtre à part callScript("monscript.php", "toto=papa & maman"
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à.
Partager