IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

AJAX Discussion :

html form et ajax XMLHttpRequest + JSon : je n'arrive pas à faire fonctionner l'ensemble


Sujet :

AJAX

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    171
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2007
    Messages : 171
    Points : 163
    Points
    163
    Par défaut html form et ajax XMLHttpRequest + JSon : je n'arrive pas à faire fonctionner l'ensemble
    Bonjour,

    Je devine que le problème a été maintes fois posé et solutionné, mais je n'arrive pas à trouver la solution cependant.
    Je découvre JSon et XMLHttpRequest. J'essaie d'adresser au serveur php via un formulaire html un fichier JSon accompagné du nom, pseudo (...) de l'utilisateur.
    (Je programme peu pour le Web, en général je travaille sur des applis MacOS et iOS).

    Voici mon code :
    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
     
    <form name="contribution"  action = "FuncContribution.php" method = "post" 	enctype = "multipart/form-data"  onsubmit = "envoieRequete(a.value, b.value,c.value, d.value)">
     
    	Votre nom : <input id = "a" type="text" name="nom" width=230></br></br>
    	Votre pseudonyme : <input id = "b" type="text" name="pseudonyme" width=230></br></br>
    	Votre mot de passe : <input id = "c" type="password" name="mdp" width=230></br></br>
    	Nom de votre figure : <input id = "d" type="text" name="nomFigure" width=230></br></br>
    	<p align="center">
    	<input type='submit' value = "Enregistrer votre figure dans la banque"></input></p>
    	</form>
     
     
    <script>function envoieRequete(leNom,pseudoNom,leMdp,leNomFig){
    	var jsonFile = retourneLeJson();
    	jsonString = JSON.stringify(mesFigures);
    	var xhttp = new XMLHttpRequest();
    	var chaineRequete = "nom="+leNom+"&pseudonyme="+pseudoNom
    	+"&mdp="+leMdp+"&nomFigure="+leNomFig+"&variableJson="+jsonFile;
    	xhttp.open("POST", "FuncContribution.php", false);
    	xhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    	xhttp.send(chaineRequete);
     
    	alert("requete appelée :"  + chaineRequete);	//appelé
     
    }</script>
    Voici la fonction qui crée le JSon :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    function retourneLeJson(){
    	jsonString = JSON.stringify(mesFigures);	
    /*mesFigures est un tableau d'instances d'une classe comportant plusieurs variables de types premiers*/
    	return jsonString;
    }
    Je pense qu'il y a deux appels de la page php, une par le formulaire, et une par le script, et que ce script par conséquent est ignoré par le serveur. En particulier, la méthode
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (this.readyState == 4 && this.status == 200)
    demeure sans réponse.
    Qu'est-ce que je fais mal?
    Merci par avance pour votre aide.

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    171
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2007
    Messages : 171
    Points : 163
    Points
    163
    Par défaut
    Différents tests m'ont permis de vérifier que la variable "jsonFile" ne parvient pas au serveur. Je l'ai remplacée par une chaîne de caractères, et ai demandé l'affichage avec "echo"des valeurs : toutes les autres entrées s'affichent sauf mon jsonFile (oubliez au passage la ligne suivante, je me demande ce qu'elle fait là...)

    Donc, ma fonction est appelée ("alert" s'affiche bien) mais le serveur ne lui répond pas.

    D'où vient la faute selon vous?

    Merci par avance pour votre aide.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [html-form] mon groupe de bouton radio ne change pas de valeur !
    Par Marmotton76 dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 07/10/2012, 09h30
  2. [AJAX] xmlhttprequest contenu ne s'affiche pas
    Par Centauri dans le forum AJAX
    Réponses: 1
    Dernier message: 09/02/2012, 14h47
  3. Réponses: 1
    Dernier message: 05/05/2011, 21h35
  4. Réponses: 2
    Dernier message: 18/06/2007, 15h11
  5. [HTML] Form - champ disabled
    Par freddyboy dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 04/11/2004, 12h14

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo