Récupérer variable POST en AJAX
Trezegoals
-
th@o -
th@o -
Bonjour,
J'ai un problème pour récupérer mes données en POST en AJAX.
Voici ma fonction ajax :
Mon formulaire :
Et mon fichier fonctions.php :
Lorsque que je fais un alert des parameters dans la fonction JS, ca m'affiche bien les paramètres, mais pas moyen de les récupérer en POST.
Quelqu'un voit l'erreur ? ^^
Merci !
J'ai un problème pour récupérer mes données en POST en AJAX.
Voici ma fonction ajax :
function requestPOST (url,cadre)
{
var XHR = null;
if(window.XMLHttpRequest) // Firefox
XHR = new XMLHttpRequest();
else if(window.ActiveXObject) // Internet Explorer
XHR = new ActiveXObject("Microsoft.XMLHTTP");
else
{ // XMLHttpRequest non supporté par le navigateur
alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
return;
}
// envoie de la requête, methode GET et de l'url
XHR.open("POST",url, true);
// on guette les changements d'état de l'objet
XHR.onreadystatechange = function attente()
{
// l'état est à 4, requête reçu !
if(XHR.readyState == 4)
{
// ecriture de la réponse
document.getElementById(cadre).innerHTML = XHR.responseText;
}
}
var namevalue=encodeURIComponent(document.getElementById("nom").value);
var prenomvalue=encodeURIComponent(document.getElementById("prenom").value);
var dateNaissvalue=encodeURIComponent(document.getElementById("dateNaiss").value);
var parameters="nom="+namevalue+"&prenom="+prenomvalue+"&dateNaiss="+dateNaissvalue;
XHR.send(parameters); // le travail est terminé
return;
}
Mon formulaire :
echo "<form method ='POST' action=\"javascript:requestPOST('include/fonctions.php','left');\"><TABLE>
<TR><td>Nom : </td><td><input type='text' name='nom' id='nom' /></td></TR>
<TR><td>Prénom : </td><td><input type='text' name='prenom' id='prenom' /></td></TR>
<TR><td>Date de naissance : </td><td><input type='text' name='dateNaiss' id='dateNaiss' /></td></TR>
<TR><br /><input type='submit' name='ajouterClient' value='Ajouter'/></TR>
</TABLE></form>";
Et mon fichier fonctions.php :
if(isset($_POST['nom'])) echo "ca marche !";
Lorsque que je fais un alert des parameters dans la fonction JS, ca m'affiche bien les paramètres, mais pas moyen de les récupérer en POST.
Quelqu'un voit l'erreur ? ^^
Merci !
7 réponses
-
je ne savais pas qu'on pouvais utiliser XHR. tout court au lieu de xhr_object.
sinon pour ton problème met
xhr_object.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
avant XHR.send -
-
autre probleme il faut un ; quelque par :
XHR.onreadystatechange = function attente()
{
// l'état est à 4, requête reçu !
if(XHR.readyState == 4)
{
// ecriture de la réponse
document.getElementById(cadre).innerHTML = XHR.responseText;
}
}; <---------<------<----- ici -
Merci à naruto ca a marché nikel !
Merci beaucoup aux autres qui ont répondu également, mon problème est résolu. -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
-
Sauf erreur de ma part, il faut faire un XHR.send(null) après avoir envoyé tes paramètres.
-
sinon, tu peux faire :
var post = <?php
echo $_POST['post'];
?>