[AJAX] Impossible de passer des paramètres en utilisant POST
Bonjour,
J'essaie d'utiliser AJAX (pour la première fois de ma vie) et si mes premiers essais ont été positifs avec les méthodes "GET". et "POST" sans parametres il n'en est pas de même dès que je veux passer des paramètres. Cela fait des heures que je cherche en vain. Ma procédure PHP pour l'instant ne fait rien d'autre que de renvoyer un message.
J'ai remarqué l'échec dès que j'ajoute la ligne : setRequestHeader("Content-type", "application/x-www-form-urlencoded"); J'ai essayé plusieurs content_type (par exemple text/html) mais cela ne change rien.
Juste une question subsidiaire :
En admettant que les paramètres soient correctement passés à PHP, faut-il utiliser $_REQUEST ou $_POST ? ( logiquement je pencherais pour $_POST)
Une idée serait la bienvenue.
Merci d'avance.
Gégé
testAJAX.html
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 30 31 32 33 34 35 36 37 38 39 40
| function detailVille(){
var xmlhttp;
str = document.getElementById("MonDep").value ;
if (window.XMLHttpRequest)
{ // code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{ // code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
if (str.length==0)
{
alert("zero");
document.getElementById("MonTexte").innerHTML="OK entré";
return;
}
var params = "Departement="+str ;
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
// document.getElementById("MonTexte").innerHTML=xmlhttp.responseText;
alert(xmlhttp.responseText);
}
}
// Utilisation du mode GET qui marche bien
/*
xmlhttp.open("GET","testAjax.php?Departement="+str,true);
xmlhttp.send();
*/
// Utilisation du mode POST qui ne marche pas.
xmlhttp.open("POST","testAjax.php",true);
setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xmlhttp.setRequestHeader("Content-length", params.length);
xmlhttp.setRequestHeader("Connection", "close");
xmlhttp.send(params);
} |
Code:
1 2 3 4 5 6 7 8 9
| <body>
<center
<h2><font color="blue"> Taper un numéro pour lister les différents marchés de ce département, puis cliquez sur "Chercher". </font></h2><p><p>
<form action="">
Numéro du département : <input type="text" size="2" id="MonDep" /><p>
</form>
<button type="button" onclick="detailVille()">Chercher</button>
<div id="MonTexte"></div>
</body> |
Ma procédure PHP : testAJAX.php
Code:
1 2 3 4
| <?php
echo "Ca fonctionne";
die();
?> |