Bonjour à tous,
Je débute en JSON et JQuery et j'ai un problème pour récupérer des infos de mon message JSON.
Voici ma chaîne JSON:
Pour un login je dois récupérer le nom et le prénom de mon utilisateur pour l'afficher dans ma page html.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 { "InformationsUtilisateur": { "Id": "940", "Nom": "demo", "Prenom": "esnig1" } }
Mon code html:
et voici mon code js:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 <!-- Bloc contenant les informations de l'utilisateur logué ainsi que le bouton "Quitter" --> <div id="identification" class="boite"> <p class="titre">Utilisateur</p> <input type="hidden" id="idParticipant" value="" /> <p id="nomEtudiant"></p> <p id="prenomEtudiant"> </p> <p> <input class="bouton" type="button" value="Quitter" onclick="javascript:quitter();" onfocus="this.blur();" /> </p> </div>
Je ne comprends pas pourquoi je n'arrives pas à récupérer le nom et le prénom.
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40 // Variables globales //Objet pour un utilisateur inconnu var oINCONNU = { libelle : "Utilisateur inconnu" , message : "Votre nom d'utilisateur est inconnu de nos services." }; function construitLogin(InformationUtilisateur){ var utilisateur = $.param(InformationUtilisateur); alert(utilisateur); //Si l'utilisateur est inconnu if(InformationUtilisateur.Erreur == oINCONNU.libelle){ afficheMessageErreur(oINCONNU.message); return; }else{ $('#nomEtudiant').text(InformationUtilisateur.Nom); $('#prenomEtudiant').text(InformationUtilisateur.Prenom); $('#identification').show(); $('#idParticipant').val(InformationUtilisateur.Id); //construitMenu($('#idParticipant').val()); } } function login(){ var objJson = $.ajax({type: 'get',url: 'login.txt',async: false, dataType:'json'}).responseText ; var oUtilisateur = eval( '(' + objJson + ')' ); construitLogin(oUtilisateur); } $(document).ready(function() {login()}) ;
J'ai une idée du pourquoi mais pas comment le résoudre. Si je récupère avec un alert(utilisateur); voici ce que je recoit:
InformationsUtilisateur%5BId%5D=940&InformationsUtilisateur%5BNom%5D=demo&InformationsUtilisateur%5BPrenom%5D=esnig1
Je suppose que mon problème viens des %5B... mais je suis pas sûr et je ne sais pas comment le résoudre...
Quelqu'un pourrait-il m'aider?
Merci d'avance
Partager