TUTORIEL AJAX - Paramètres en mode POST

Description

Un clic sur le bouton va appeler un service WEB en lui transmettant sa valeur comme paramètre

La méthode employée est POST, il faudra donc envoyer un header pour préciser le type de contenu.

Les paramètres sont envoyés dans le send(), sous la forme "nom1=valeur 1&nom2=valeur 2"

La requête, une fois complétée, contient une réponse de type texte qui sera affichée dans la balise résultat.

Le code Javascript
function go(param) {
  var xhr = getXhr();
        // Code à exécuter
        xhr.onreadystatechange = function(){
                // On ne fait quelque chose que si on a tout reçu et que le serveur est ok
                if(xhr.readyState == 4 && xhr.status == 200){
                        document.getElementById("here").innerHTML=xhr.responseText;
                }
        }
        xhr.open("POST","serveurs/s2.php",true);
// =========> OBLIGATOIRE POUR LA METHODE POST
        xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
// =========> LES PARAMETRES SONT ENVOYES DANS LE SEND
        xhr.send("abo="+param);
}
Fonctionnement


Le service WEB
Ce module écrit en PHP récupère le paramètre depuis la superglobale $_POST["abo"].
Il renvoie comme résultat un texte contenant des balises HTML
/* module serveur pour la formation AJAX */
// en entrée dans le $_POST, un paramètre "abo" qui vaut "oui" ou "non"
// selon la réponse, on envoie un texte formaté
$parm=$_POST["abo"]; // on considère que ce texte existe 
if ("oui" == $parm) {
	$rep="<b>Bravo</b> et merci pour votre fidélité";
} else {
	$rep="<b>Alors !</b> Qu'attendez-vous pour vous abonner et 
	<b>profiter des avantages</b> réservés à nos fidèles clients ?";
}
echo $rep;


Ce texte sera remplacé par la réponse de la requête