[AJAX] [AJAX/PHP] récupération de paramètres POST
Bonjour,
J'ai un petit problème pour récupérer des paramètres passés par POST via un objet XMLHttpRequest.
Je m'explique :
j'ai dans un page PHP "index.php" une image telle que :
PHP :
Code:
1 2 3 4 5
|
<form name="frm" id="frm" method="post" action="<?php echo $_SERVER["PHP_SELF"]; ?>" >
//code zappé
echo "<img id=\"$name\" src=\"$srcImg\" onclick=\"return ValidImg($id,$var1,$var2);\">" ; |
La fonction javascript ValidImg se trouve dans un autre fichier JS et est de la forme :
Code:
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 28 29
|
function ValidImg(id,var1,var2)
{
xmlHttp=GetXmlHttpObject()
if (xmlHttp==null)
{
alert ("Browser does not support HTTP Request")
return
}
else {
xmlHttp.onreadystatechange= function () { ReadyValidImg(var1,var2) } ;
var url="descriptionSpectacles.php";
// lancement de la requete
xmlHttp.open('POST', url, true);
xmlHttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
var data="id="+id+"&c="+c+"&l="+l;
xmlHttp.send(data);
}
}
function ReadyValidImg(var1,var2) {
if (xmlHttp.readyState==4) {
alert("Alert"); //marche
document.getElementById(var1).src="Blabla";
document.getElementById(var2).innerHTML = "blabla";
}
} |
avec la fonction GetXmlHttpObject() suivante :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
|
function GetXmlHttpObject()
{
var xmlHttp=null;
try
{
// Firefox, Opera 8.0+, Safari
xmlHttp=new XMLHttpRequest();
}
catch (e)
{
//Internet Explorer
try
{
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
}
return xmlHttp;
} |
Puis, j'aimerais récupérer les paramètres var1 et var2 de la requête GET de la fonction ValidImg() dans ma page PHP "index.php".
Pour cela, je fais ceci au début de la page "index.php" :
Code:
1 2 3 4 5
|
if ((isset($_POST['var1'])) && (isset($_POST['var2']))) {
echo "passage de parametres par post OK";
fctPHP(var1,var2);
} |
Mon pb : je ne passe pas dans cette boucle.
Dans FireBug, je vois la requete POST avec les bonnes variables (var1 et var2) et avec un statut "200 OK". Pourquoi ces variables ne passent pas la condition "isset" ?? (le problème ne vient pas du echo - lui, marche)
Merci beaucoup pour votre aide.
TheLostMind.