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 :

Soumission formulaire fonctionne mais la condition "Error" est éxecutée [AJAX]


Sujet :

jQuery

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    223
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 223
    Points : 47
    Points
    47
    Par défaut Soumission formulaire fonctionne mais la condition "Error" est éxecutée
    Bonjour à tous.

    Petit soucis lorsque je veux soumettre mon formulaire d'inscription en ajax, l'enregistrement en BDD se passe bien, pas d'erreur sauf que je souhaite récupérer le message de confirmation pour l'afficher dans une modal (ou dans un message "alert" pour le moment) et que je n'y arrive pas.

    Voici mon code Jquery :

    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
    $(document).ready(function(){
        $('#inscription').click(function(e){
            $.ajax({
                type        : $('form').attr( 'method' ),
                url         : '{{ path("fos_user_registration_register") }}',
                data        : $('form').serialize(),
                dataType    : "json",
                success     : function(data, status, object) {
                    alert(data.message);
                },
                error: function(data, status, object){
                    alert(data.message);
                }
            });
        });
    });
    1/ Meme si la soumission se passe bien c'est la condition error qui est exécuté, je ne comprends pas pourquoi.

    2/ Je n'arrive pas à afficher mon message html qui est envoyé lors de la soumission (message que je retrouve bien dans ma console firebug pourtant)

    Merci pour votre aide

  2. #2
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 070
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 070
    Points : 44 646
    Points
    44 646
    Par défaut
    Bonjour,
    signifie que les données attendues sont au format JSON, est ce le cas?

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    223
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 223
    Points : 47
    Points
    47
    Par défaut
    Tu parles des données envoyées par le formulaire ou le resultat de la soumission ?

  4. #4
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 070
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 070
    Points : 44 646
    Points
    44 646
    Par défaut
    les données attendues en retour bien sûr !
    - jQuery.ajax

  5. #5
    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
    Si tu poses la question, ça veut dire que tu as mis l'instruction sans savoir pourquoi...
    La fameuse POH (Programmation Orientée Hasard), une variante de la PPC (Programmation Par Chance)...
    Comment sais-tu que tu passes dans error ? Quel est le message affiché ?

    EDIT :
    Enfin... selon ton code, ce serait plutôt alert(object); qu'il faudrait faire.

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    223
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 223
    Points : 47
    Points
    47
    Par défaut
    Autant pour moi, la réponse est une réponse html (affichage d'un message de confirmation).

    J'ai effectué des tests (en affichant des "alert" tout simplement), voila comment je sais que je passe dans le error.

    J'ai un message "200" qui s'affiche. Et pourant dans mon GET (console firebug) j'ai bien la réponse html comme quoi la validation s'est bien passée.

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    223
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 223
    Points : 47
    Points
    47
    Par défaut
    Un petit coup de main ? (ou de pied, au choix )

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    223
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 223
    Points : 47
    Points
    47
    Par défaut
    En essayant ceci :

    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
    $(document).ready(function(){
        $('#inscription').click(function(e){
            e.preventDefault();
            $.ajax({
                type        : $('form').attr( 'method' ),
                url         : '{{ path("fos_user_registration_register") }}',
                data        : $('form').serialize(),
                dataType    : "html",
                success     : function(data, status, object) {
                    alert(object);
                },
                error: function(data, status, object){
                    alert(object);
                }
            });
        });
    });
    J'ai juste mon alert qui affiche Object[object].

  9. #9
    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 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    regarde aussi dans ta console firebug dans l'onglet reseau tu y verras la réponse du serveur qui pourra t'aider à comprendre

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    223
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 223
    Points : 47
    Points
    47
    Par défaut
    Oui chose que j'ai déjà fait et expliqué au dessus, j'ai bien mon POST et un GET qui lui contient une réponse html disant que l'enregistrement est effectué.

    Voila pourquoi je ne comprends pas pourquoi c'est mon error qui est exécuté et de plus je n'arrive pas à afficher ce contenu html dans mon "alert" par exemple.

  11. #11
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 070
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 070
    Points : 44 646
    Points
    44 646
    Par défaut
    J'ai effectué des tests (en affichant des "alert" tout simplement), voila comment je sais que je passe dans le error.
    lorsque je regarde ton code suivant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    success: function (data, status, object) {
        alert(object);
    },
    error: function (data, status, object) {
        alert(object);
    }
    j'ai du mal à comprendre que tu sois sûr d'être dans error et non dans success d’autant qu'un statut 200 annonce que cela c'est bien passé.

  12. #12
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    223
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 223
    Points : 47
    Points
    47
    Par défaut
    Merci mais quand je dis que j'ai testé c'est à dire que dans le succes je fais un "alert("OK ca marche") et dans mon error je fais un "alert("ca marche pas"), c'est comme ça que j'ai détecter qu'il allait dans error.

    La effectivement je ne pourrais pas faire la difference mais cela n'explique pas le probleme.

  13. #13
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 070
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 070
    Points : 44 646
    Points
    44 646
    Par défaut
    Je dois admettre que j'ai perdu le fil, où en es tu actuellement?

  14. #14
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    223
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 223
    Points : 47
    Points
    47
    Par défaut
    J'ai deux problèmes comme expliqué sur mon premier post mais mon principal est que je n'arrive pas à afficher le résultat de la validation.

    Dans ma console j'ai bien un GET contenant un bout de code html qui affiche un message. C'est ce contenu HTML que je veux récupérer mais je n'y arrive pas avec un data.message.

  15. #15
    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
    Ce qui confirme effectivement que tu ne comprends rien à ton code !
    Si ta requête renvoie du HTML, je ne vois pas par quel miracle ce HTML pourrait avoir une propriété message...
    NoSmoking t'a proposé un lien décrivant la méthode .ajax(), ça pourrait être utile de lire la doc et d'adapter ton code en fonction.

  16. #16
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    223
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 223
    Points : 47
    Points
    47
    Par défaut
    En fait c'est juste que je n'ai pas réfléchis je crois et que je me suis compliqué la vie.

    En effet il suffit juste d'utiliser "data" pour récupérer le résultat, chose que j'ai déjà fait mais ne me demandez pas pourquoi je n'ai pas tout de suite tilté.

    Merci en tout cas d'avoir répondu c'est sympa de votre part.

    Bon week end

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

Discussions similaires

  1. Formulaire fonctionne en GET mais pas en POST
    Par heraieros dans le forum Langage
    Réponses: 11
    Dernier message: 08/09/2009, 11h53
  2. formulaire fonctionne mais envoi é à la place de é
    Par budyraptor dans le forum Langage
    Réponses: 2
    Dernier message: 29/07/2008, 21h27
  3. [HTML] Formulaire soumissible sous Firefox mais pas sous IE
    Par druidev dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 02/12/2006, 19h05

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