Téléchargement
illégal
Posez votre question Signaler

Récupérer variable POST en AJAX

Trezegoals - Dernière réponse le 24 juin 2010 à 17:47
Bonjour,
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 !
Lire la suite 

Récupérer variable POST en AJAX »

17 réponses
Réponse
+1
moins plus
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
sebcap26- 14 juin 2010 à 15:05
"je ne savais pas qu'on pouvais utiliser XHR. tout court au lieu de xhr_object"

xhr_object étant une variable, tu peux l'appeller comme tu veux ...
naruto-94- 14 juin 2010 à 15:42
ah ouai j'suis beteeeeeee , on va dire que j'ai rien dit :p
Ajouter un commentaire
Réponse
+0
moins plus
il faut envoyer tes parametres avant de recupere les données....
Ajouter un commentaire
Réponse
+0
moins plus
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
th@o - 21 juin 2010 à 15:06
en plus losque l'on appele une fonction comm ca :
XHR.onreadystatechange = function attente()
	{

il est plus preferable d'ecrire
XHR.onreadystatechange = function {

: pas de nom ni de parrantheses ();
th@o - 21 juin 2010 à 15:18
dsl je me tromper c'est :
XHR.onreadystatechange = function() {

mais pas de nom
Ajouter un commentaire
Réponse
+0
moins plus
Merci à naruto ca a marché nikel !
Merci beaucoup aux autres qui ont répondu également, mon problème est résolu.
Ajouter un commentaire
Réponse
+0
moins plus
c'est quoi se truc en php c'est pourquoi fait cette fonction
th@o - 23 juin 2010 à 14:13
mais elle appele des fichier .php
informaticiensystem32 - 24 juin 2010 à 08:21
Vive les fautes d'orthographe !
th@o - 24 juin 2010 à 17:47
ouais je sais mais je tape vite j'ai pas le temps de me relire
Ajouter un commentaire
Réponse
-1
moins plus
Sauf erreur de ma part, il faut faire un XHR.send(null) après avoir envoyé tes paramètres.
th@o - 21 juin 2010 à 15:03
non car il est avec la methode POST et
xhr.send(null);
c'est lorsque l'on et en methode GET -> car on envoit aucun parametre
Ajouter un commentaire
Réponse
-3
moins plus
sinon, tu peux faire :

var post = <?php
echo $_POST['post'];
?>
Templier Nocturne- 21 juin 2010 à 15:33
pourquoi n m'a mis -1 ? ...

ce code fonctionne et peut être utilisé puisqu'il utilise du PHP...
Ajouter un commentaire
Ce document intitulé « Récupérer variable POST en AJAX » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?