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

JavaScript Discussion :

javascript et symfony 3


Sujet :

JavaScript

  1. #41
    Membre émérite
    Femme Profil pro
    Autre
    Inscrit en
    Janvier 2017
    Messages
    340
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Autre

    Informations forums :
    Inscription : Janvier 2017
    Messages : 340
    Par défaut
    Bonjour,
    Pour la requête :

    Je pense que les parenthèses sont en trop ici : success: app.showSuccess().
    Mettre juste : success: app.showSuccess.

    Ensuite, il faudrait afficher quelques valeurs pour vérifier que tout se passe comme prévu :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    console.log(url);
    console.log(data);
          // On fait la requête
          $.ajax({
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
        showSuccess: function(body,statut){
    console.log(body);
    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
    echo 'Ici1 ';
    if(!empty($_POST)) {echo 'Ici2 ';var_dump($_POST);}
     
            $form->handleRequest($request);
     
            // Si le formulaire a été soumi
            if ($form->isSubmitted() && $form->isValid())
            {
    echo 'Ici3 ';
                if($request->isXmlHttpRequest()){
    echo 'Ici4 ';
    var_dump($user);
                    $em = $this->getDoctrine()->getManager();
                    $em->persist($user);
                    $em->flush();
    echo 'Ici5 ';
                    return $this->render('pal/raton.html.twig');
                }
            }
    Pour la requête, je comprends à peu près le principe d'après la documentation :
    https://symfony.com/doc/current/doctrine.html
    flush devrait exécuter la requête.

    Une fois tous ces affichages ajoutés :
    Afficher la page avec le formulaire.
    Ouvrir la console avec F12.
    Renseigner les champs et valider.
    Regarder tout ce qui s'affiche dans la console : 'Ici5' s'affiche ? $user semble correct ?

  2. #42
    Membre actif

    Inscrit en
    Octobre 2012
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Octobre 2012
    Messages : 94
    Billets dans le blog
    1
    Par défaut
    Bonjour,

    Voilà ce que je vois dans ma console après avoir faire les ajouts comme demander :
    Images attachées Images attachées   

  3. #43
    Membre émérite
    Femme Profil pro
    Autre
    Inscrit en
    Janvier 2017
    Messages
    340
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Autre

    Informations forums :
    Inscription : Janvier 2017
    Messages : 340
    Par défaut
    Bonsoir,
    Le message d'erreur en rouge indique que l'url n'est pas valide.
    Dans le code js, il faudrait que ceci {{ path('home') }} ait été préalablement converti niveau serveur en une url valide, ce qui n'est apparemment pas le cas.
    Pour cela, le code js devrait sans doute être dans un fichier twig traité par la fonction render.
    Mais c'est apparemment le cas vu que la redirection fonctionne avec le chemin {{ path('rat', {'name':'raton'}) }}...
    Vous pourriez essayer temporairement de remplacer ceci {{ path('home') }} par la bonne url dans le code js.

  4. #44
    Membre actif

    Inscrit en
    Octobre 2012
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Octobre 2012
    Messages : 94
    Billets dans le blog
    1
    Par défaut
    Bonsoir,

    J'ai mis le bon url comme demander , mais ça ne marche plus et j'ai ça comme erreur après la redirection:

    LA ROUTE :
    {{ path('rat', {'name':'raton'}) }}
    L'ERREUR :
    Uncaught TypeError: Cannot set property 'className' of null
    Mais d'abord, la même erreur comme celle que j'ai mise avec la capture d'écran .

    Merci.

  5. #45
    Membre émérite
    Femme Profil pro
    Autre
    Inscrit en
    Janvier 2017
    Messages
    340
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Autre

    Informations forums :
    Inscription : Janvier 2017
    Messages : 340
    Par défaut
    Bonsoir,
    J'ai mis le bon url comme demander , mais ça ne marche plus
    La nouvelle url est valide ou pas ?
    Que donne l'appel ajax ?
    Quoi dans la console ?

    Quand je regarde la capture de votre message ici, je pense que le code javascript est dans un fichier externe.
    Dans la page html, il y a une balise comme <script src="app.js"></script> ?
    Si oui, alors les chemins {{ path('home') }} et {{ path('rat', {'name':'raton'}) }} ne sont pas convertis, le fichier js est envoyé tel quel vers le client.
    Je trouve un peu étonnant que la redirection fonctionne.
    Pour moi, il faudrait :
    - soit mettre directement les urls converties dans le js,
    - soit passer par un script php au niveau du src qui va retourner une version traitée du fichier js par la fonction render,
    - soit que les chemins {{ ... }} soient définis en dehors de ce fichier js dans une balise script du fichier twig du formulaire, le script du fichier js pouvant alors s'y référer.

    Je n'ai pas une vision assez complète des fichiers que vous utilisez avec le code exact et de ce qui s'affiche dans la console pour répondre précisément.
    Je ne peux que multiplier les hypothèses dans tous les sens.

    Uncaught TypeError: Cannot set property 'className' of null
    Peut-être encore un problème avec un id ?

    Je ne vais pas pouvoir prendre le temps de corriger tous les problèmes un à un.
    Il serait préférable que vous alliez un peu plus au fond des choses par vous-même pour être plus autonome, surtout que vous êtes bloqué sur ces problèmes depuis novembre 2017 ?
    A ce rythme là, si la résolution repose uniquement sur mes réponses, dans six mois, on y est encore.
    Mon conseil c'est de multiplier les affichages, bien regarder dans la console, désactiver si besoin des portions de code en les mettant en commentaires pour aller à l'essentiel, faire des recherches sur google et étudier plus la documentation.

  6. #46
    Membre actif

    Inscrit en
    Octobre 2012
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Octobre 2012
    Messages : 94
    Billets dans le blog
    1
    Par défaut
    Bonjour,

    Encore merci pour tout loralina , c'est vraiment gentil de votre part ! Mais croyez moi, je regardes beaucoup sur la toile avant même de poste une réponse ici . Je continue à regarder comme vous aviez dis !

    Merci

Discussions similaires

  1. Réponses: 5
    Dernier message: 19/07/2017, 02h41
  2. [2.x] Javascript ne veut pas s'exécuter dans Symfony
    Par droubaud dans le forum Symfony
    Réponses: 2
    Dernier message: 21/02/2015, 22h09
  3. [1.x] Moteur Javascript et Symfony
    Par sylvain230 dans le forum Symfony
    Réponses: 5
    Dernier message: 16/03/2011, 11h37
  4. JavaScript<---->ActionScript
    Par crazypiou dans le forum Flash
    Réponses: 21
    Dernier message: 17/04/2009, 18h14

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