bonjours, j'ai un souci de passage de variable entre javascript et php par l'intermediare d'un XMLHttpRequest();
je m'explique : je souhaite passer une variable javascript de type : ma variable


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
<?php
echo'<a href="#" onMouseOver='."javascript:go('mavariable');".'   />corect</a>';
 
echo'<a href="#" onMouseOver='."javascript:go('ma variable');".'   />erreur</a>';
 
echo'<a href="#" onMouseOver='."javascript:go('ma&nbsp;variable');".'/>corect</a>';
 
?>
ayant besoin de passer une variable avec espace je choisi la troisieme solution.

c la que tout se complique, la fonction go me sert a passer cette variable dans un script php avec l'objet XMLHttpRequest(); par methode post avec pour nom par exemple cherche.

dans ce script je verifie la valeur de la variable
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 
<?php
 
if (isset ($_POST['cherche'])&&$_POST['cherche']=="ma&nbsp;variable")
 
echo $_POST['cherche'];//n'est pas vrai
 
else if (isset ($_POST['cherche'])&&$_POST['cherche']=="ma variable")
 
echo $_POST['cherche'];//n'est pas vrai non plus
 
?>
il me semble que cela vient de l'encodage des valeurs du post par XMLHttpRequest(); puisque cet objet demande de préciser ceci lors de l'envoi du post :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');

de ce fait je voulais savoir si quelqu'un avait connaisance de l'écriture d'un espace qui soit interpretable et par javascript et par php dans l'envoi d'un post avec XMLHttpRequest();

merci d'avance