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

jQuery Discussion :

Récupérer les données en JSON


Sujet :

jQuery

  1. #1
    Membre éprouvé
    Avatar de Rony Rauzduel
    Homme Profil pro
    En formation Architecte logiciel
    Inscrit en
    Décembre 2008
    Messages
    638
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : En formation Architecte logiciel
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2008
    Messages : 638
    Points : 1 128
    Points
    1 128
    Par défaut Récupérer les données en JSON
    Bonjour,

    Je souhaite récupérer les données d'un formulaire soumis en AJAX avec jQuery. Pour cela j'utilise JSON, dans l'onglet Réponse de Firebug il n'y a rien (vide) alors que dans l'onglet Post les données sont bien présentes.

    Dans le fichier PHP traitant les données, j'ai placé la ligne suivante :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    echo json_encode($t);
    $t étant mon tableau permettant le traitement des données avec json

    Je ne vois pas d'où peut venir le problème.

    Merci d'avance.
    Transact.

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 665
    Points
    66 665
    Billets dans le blog
    1
    Par défaut
    sans plus de code ... difficile à dire

  3. #3
    Membre éprouvé
    Avatar de Rony Rauzduel
    Homme Profil pro
    En formation Architecte logiciel
    Inscrit en
    Décembre 2008
    Messages
    638
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : En formation Architecte logiciel
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2008
    Messages : 638
    Points : 1 128
    Points
    1 128
    Par défaut
    Code PHP : 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
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
     
    /** script traitant de l'affichage de la zone d'adhesion */
    $(document).ready(function() {    
        // pour la soumission du formulaire
        $("#adhesionForm").submit(function(e) {            
            // pendant la soumission on affiche le loader d'attente Ajax
            $("#loader").show();                       
            // empêcher le navigateur de soumettre (qui consiste à appeler la page action du formulaire) lui-même le formulaire			 
            e.preventDefault();
            // pour l'appel Ajax puisqu'on veut rester sur la même page suite à la soumission
     
            var siret = $(this).find("input[name=siret]").val();
            var ape = $(this).find("input[name=ape]").val();
            var pseudo = $(this).find("input[name=pseudo]").val();
            var password = $(this).find("input[name=password]").val();
            var verif_password = $(this).find("input[name=verif_password]").val();                               
            var email = $(this).find("input[name=email]").val();
            var propriete = $(this).find("input[name=propriete]").val();
            var adresse = $(this).find("input[name=adresse]").val();
            var cp = $(this).find("input[name=cp]").val();        
            var ville = $(this).find("input[name=ville]").val();
            var region = $(this).find("select[name=region]").val();
            var appellation = $(this).find("input[name=appellation]").val();
            var pays = $(this).find("select[name=pays]").val();
            var nom = $(this).find("input[name=nom]").val();            
            var prenom = $(this).find("input[name=prenom]").val();            
            var telephone = $(this).find("input[name=telephone]").val();            
            var fax = $(this).find("input[name=fax]").val();                                    
            var captcha = $(this).find("input[name=captcha]").val(); // pour le cas du captcha
     
            // lors de l'appel Ajax la référence #inscriptionForm sera perdue il faut donc la réaffecter			
            var form = $(this);	
            // pour récupérer la valeur des champs nous utilisons la paire {clé:valeur}
            // préciser à jQuery que l'on veut le type de sortie JSON en dernier paramètre de $.post()
            // Et tu devrais entourer le nom des variables quand tu les passes 
            if(isNaN(siret) && siret.toString().length != 14) {
                $('.formErreur').show("fast").text("Votre numéro de siret doit être renseigné sur 14 chiffres.");
                $("#adhesionForm").find("input[name=siret]").val('').focus();
                $('.formErreur').fadeOut(3000);
                $("#loader").hide(); // on cache le loader d'attente Ajax
            } else if(ape.toString().length != 5) {
                $('.formErreur').show("fast").text("Votre code ape doit être renseigné sur 5 chiffres/lettres.");
                $("#adhesionForm").find("input[name=ape]").val('').focus();
                $('.formErreur').fadeOut(3000);
                $("#loader").hide(); // on cache le loader d'attente Ajax 
            } else if(password.length < 6) {
                $('.formErreur').show("fast").text("Votre mot de passe doit être compris entre 6 et 12 caractères.");
                $("#adhesionForm").find("input[name=password]").val('').focus();
                $("#adhesionForm").find("input[name=verif_password]").val('');
                $('.formErreur').fadeOut(3000); 
                $("#loader").hide(); // on cache le loader d'attente Ajax
            } else if((telephone.length < 10) || isNaN(telephone)) {
                $('.formErreur').show("fast").text("Votre numéro de téléphone doit comporter 10 chiffres.");
                $("#adhesionForm").find("input[name=telephone]").val('').focus();
                $('.formErreur').fadeOut(3000);
                $("#loader").hide(); // on cache le loader d'attente Ajax
            } else {
                $.ajax({  
                    url : $(this).attr('action'),
                    type : $(this).attr('method'),
                    data : $(this).serialize(),
                    dataType: 'json',
                    success: function(data) {
                        // une fois les données soumises on cache le loader
                        $("#loader").hide();
                        // si tout est ok dans le formulaire //
                        if(data.erreur=='ok') {
                            console.log(data.erreur); // pour le test
                            $('#inscriptionSent').show("fast").text(data.retour);
                            $('#inscriptionSent').fadeOut(6000);
                            //$("#inscriptionForm").fadeOut(6000);
                            $("#captchaImgAdhesion").attr("src", "image.php?text");// permet de regénérer uniquement que le captcha sans vider le formulaire
                        } else {
                            /** le cas du pseudo **/                        
                            if(data.erreurPseudo) {
                                console.log(data.erreurPseudo); // pour le test
                                $('.formErreur').show("fast").text(data.erreur);
                                $('#inscriptionSent').show("fast").text(data.erreurPseudo);												
                                $('#inscriptionSent').fadeOut(3000);
                                $('.formErreur').fadeOut(3000);
                                form.find("input[name=pseudo]").val('').focus();
                                $("#captchaImgAdhesion").attr("src", "image.php?text");// permet de regénérer uniquement que le captcha sans vider le formulaire
                            } // fin if(data.erreurPseudo)
                            /** le cas du mot de passe **/
                            if(data.erreurPassword) {
                                console.log(data.erreurPassword); // pour le test						
                                $('.formErreur').show("fast").text(data.erreur);
                                $('#inscriptionSent').show("fast").text(data.erreurPassword);
                                $('#inscriptionSent').fadeOut(3000);
                                $('.formErreur').fadeOut(3000);
                                form.find("input[name=password]").val('').focus();	
                                form.find("input[name=verif_password]").val('');
                                $("#captchaImgAdhesion").attr("src", "image.php?text");// permet de regénérer uniquement que le captcha sans vider le formulaire
                            } // fin if(data.erreurPassword)
                            /** le cas de l'adresse email **/
                            if(data.erreurEmail) {	
                                console.log(data.erreurEmail); // pour le test						
                                $('.formErreur').show("fast").text(data.erreur);
                                $('#inscriptionSent').show("fast").text(data.erreurEmail);
                                $('#inscriptionSent').fadeOut(3000);
                                $('.formErreur').fadeOut(3000);
                                form.find("input[name=email]").val('').focus();
                                $("#captchaImgAdhesion").attr("src", "image.php?text");// permet de regénérer uniquement que le captcha sans vider le formulaire
                            } // fin if(data.erreurEmail)
                            /** le cas du téléphone **/
                            if(data.erreurTel) {	
                                console.log(data.erreurTel); // pour le test						
                                $('.formErreur').show("fast").text(data.erreur);
                                $('#inscriptionSent').show("fast").text(data.erreurTel);
                                $('#inscriptionSent').fadeOut(3000);
                                $('.formErreur').fadeOut(3000);						
                                form.find("input[name=telephone]").val('').focus();
                                $("#captchaImgAdhesion").attr("src", "image.php?text");// permet de regénérer uniquement que le captcha sans vider le formulaire
                            } // fin if(data.erreurTel)
                            /** le cas du captcha **/
                            if(data.erreurCaptcha) {	
                                console.log(data.erreurCaptcha); // pour le test						
                                $('.formErreur').show("fast").text(data.erreur);
                                $('#inscriptionSent').show("fast").text(data.erreurCaptcha);
                                $('#inscriptionSent').fadeOut(3000);
                                $('.formErreur').fadeOut(3000);
                                form.find("input[name=captcha]").val('').focus();
                                $("#captchaImgAdhesion").attr("src", "image.php?text");// permet de regénérer uniquement que le captcha sans vider le formulaire
                            } // fin if(data.erreurCaptcha)
                            if(data.successCaptcha) {
                                console.log(data.successCaptcha); // pour le test
                                $('#inscriptionSent').show("fast").text(data.retour);
                                $('#inscriptionSent').fadeOut(6000);                        
                                $("#captchaImgAdhesion").attr("src", "image.php?text");// permet de regénérer uniquement que le captcha sans vider le formulaire
                            } // fin if(data.successCaptcha)                                                                
                            $("#captcha", "#adhesionForm").val("");
                        }
                    } // fin function(data)
                }); // fin $.ajax()
            }            								
        }); // fin $("#adhesionForm").submit()					
        // on vide les champs du formulaire SAUF le bouton radio et celui de soumission
        $(':input','#adhesionForm').not(':submit').val('');				
    }); // fin $(document)

  4. #4
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 665
    Points
    66 665
    Billets dans le blog
    1
    Par défaut
    tu as tenté un dans le success ?

  5. #5
    Membre éprouvé
    Avatar de Rony Rauzduel
    Homme Profil pro
    En formation Architecte logiciel
    Inscrit en
    Décembre 2008
    Messages
    638
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : En formation Architecte logiciel
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2008
    Messages : 638
    Points : 1 128
    Points
    1 128
    Par défaut
    le alert(data) ne me renvoi rien, il ne s'affiche pas

  6. #6
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 665
    Points
    66 665
    Billets dans le blog
    1
    Par défaut
    essaye de mettre l'url de l'ajax en dur ?

  7. #7
    Membre éprouvé
    Avatar de Rony Rauzduel
    Homme Profil pro
    En formation Architecte logiciel
    Inscrit en
    Décembre 2008
    Messages
    638
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : En formation Architecte logiciel
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2008
    Messages : 638
    Points : 1 128
    Points
    1 128
    Par défaut
    cela ne change rien, et je n'ai pas l'onglet JSON qui s'affiche.

  8. #8
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Ben... si tu as les bonnes infos dans l'onglet POST de Firebug mais pas dans l'onglet Réponse, c'est que le problème vient de PHP, pas de JavaScript...

  9. #9
    Membre éprouvé
    Avatar de Rony Rauzduel
    Homme Profil pro
    En formation Architecte logiciel
    Inscrit en
    Décembre 2008
    Messages
    638
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : En formation Architecte logiciel
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2008
    Messages : 638
    Points : 1 128
    Points
    1 128
    Par défaut
    Ok, je regarde de ce côté et je vous tiens au courant. D'autant plus que dans un autre formulaire similaire je récupère les informations.

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

Discussions similaires

  1. [Windows Phone 8] Récupérer les données depuis un webservice Json toutes les 30 secondes
    Par arrakis42 dans le forum Windows Phone
    Réponses: 7
    Dernier message: 25/08/2013, 10h47
  2. Réponses: 1
    Dernier message: 17/05/2013, 13h34
  3. Récupérer les données avec json
    Par Rony Rauzduel dans le forum jQuery
    Réponses: 14
    Dernier message: 08/11/2012, 15h48
  4. Récupérer les données d'une iframe
    Par juli1 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 09/02/2005, 22h53

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