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 :
Voici la fonction qui crée le JSon :
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>
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
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; }
demeure sans réponse.
Code : Sélectionner tout - Visualiser dans une fenêtre à part if (this.readyState == 4 && this.status == 200)
Qu'est-ce que je fais mal?
Merci par avance pour votre aide.
Partager