[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.