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 : 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
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 html : Sélectionner tout - Visualiser dans une fenêtre à part
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 php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
<?php
echo "Ca fonctionne";
die();
?>