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 :
La fonction javascript ValidImg se trouve dans un autre fichier JS et est de la forme :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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);\">" ;
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
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 :
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".
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 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; }
Pour cela, je fais ceci au début de la page "index.php" :
Mon pb : je ne passe pas dans cette boucle.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 if ((isset($_POST['var1'])) && (isset($_POST['var2']))) { echo "passage de parametres par post OK"; fctPHP(var1,var2); }
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.
Partager