|
|
|
|
Bonjour forumeurs,
J'ai un petit problème pour récupérer des paramètres passés par GET via un objet XMLHttpRequest.
Je m'explique :
j'ai dans un page PHP "index.php" une image telle que :
<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);\">" ;
function ValidImg(id,var1,var2)
{
xmlHttp=GetXmlHttpObject()
if (xmlHttp==null)
{
alert ("Browser does not support HTTP Request")
return
}
else {
var url="index.php";
url = url + "?id=" + id + "&var1=" + var1 + "&var2=" + var2;
xmlHttp.open('GET', url, true);
xmlHttp.send(null);
alert("Alert"); //cet Alert se déclenche bien
document.getElementById(id).src="blabla";
document.getElementById(var1).innerHTML = "blabla";
}
}
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;
}
if ((isset($_GET['var1'])) && (isset($_GET['var2']))) {
echo "passage de parametres OK";
//appel d'une fonction PHP avec les paramètres var1 et var2
}
Configuration: Windows Vista Firefox 2.0.0.18
Bonsoir,
http_request.onreadystatechange = function() {
if (http_request.readyState == 4) {
if (http_request.status == 200) {
etc...
la tu ecris dans ta page
}
}
}
ensuite si tes echo du script php n'apparaissent pas directement dans ta page, il faut mettre une alert sur la réponse dans la fonction javascript |
Re-bonjour et merci pour cette réponse rapide.
function ValidImg(id,var1,var2)
{
xmlHttp=GetXmlHttpObject()
if (xmlHttp==null)
{
alert ("Browser does not support HTTP Request")
return
}
else {
alert("on rentre ds la boucle"); //ça marche
xmlHttp.onreadystatechange=ReadyValidImg(var1,var2) ;
var url="index.php";
url=url+"?id="+id+"&var1="+var1+"&var2="+var2;
xmlHttp.open("GET",url,true);
xmlHttp.send(null);
}
}
function ReadyValidImg(var1,var2) {
if (xmlHttp.readyState==4) {
if (http_request.status == 200) {
alert("on rentre ds readyState"); //ne marche pas
document.getElementById(var1).src="blabla";
document.getElementById(var2).innerHTML = "blabla"
}
}
}
J'ai toujours le même problème : le requete GET ne se fait pas. (elle devrait pourtant se faire même si la méthode xmlHttp.onreadystatechange n'est pas éxécutée ?). Toujours aucune trace dans FireBug de cette requete GET. En ce qui concerne mon echo sur la page "index.php", il s'affiche bien dans la page. Je ne pense pas que le problème vienne de là. Merci encore. TheLostMind.
|
Répondre à Alain_42
|