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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre chevronné
    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 : 40
    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
    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 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    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 659
    Billets dans le blog
    1
    Par défaut
    sans plus de code ... difficile à dire
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  3. #3
    Membre chevronné
    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 : 40
    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
    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 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    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 659
    Billets dans le blog
    1
    Par défaut
    tu as tenté un dans le success ?
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  5. #5
    Membre chevronné
    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 : 40
    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
    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 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    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 659
    Billets dans le blog
    1
    Par défaut
    essaye de mettre l'url de l'ajax en dur ?
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

+ 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