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

Symfony PHP Discussion :

Route symfony dans le paramètre url d'un appel ajax


Sujet :

Symfony PHP

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2014
    Messages
    483
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

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

    Informations forums :
    Inscription : Avril 2014
    Messages : 483
    Points : 0
    Points
    0
    Par défaut Route symfony dans le paramètre url d'un appel ajax
    Bonjour,

    voici un appel ajax vers une url dans symfony, ce que je passe dans le paramètre url est bien une route présente dans le fichier routing.yml mais le problème c'est que le console.log ne m'affiche pas le bon code html qui doit être renvoyé par l'ajax. Il n'y a pas besoin de mettre un paramètre data à cet appel ajax car on recupère du contenu html uniquement. Le problème vient je pense du paramètre url de l'appel ajax, en effet je pense que au niveau du console.log il ne renvoit pas ce qu'il faut car il ne prend pas la bonne route.

    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
     
     
    ....
     
      submit: function(e) {
     
    		e.preventDefault()
     
    		$('.affichage').css({zIndex:'0'})
    		$('#galerie').css({zIndex:'1'})
     
    		$.ajax({
     
    	             url:  "site/dessins", 
                        dataType: "html",
    	        success: function(data) {
     
    				console.log(data)
     
    .....

    Merci

  2. #2
    Membre habitué Avatar de Echyzen
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2012
    Messages
    123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2012
    Messages : 123
    Points : 178
    Points
    178
    Par défaut
    Alors déjà après le succes fait un error : alert

    Ensuite la cela ne peut pas fonctionner effectivement car la route qui est dans ton routing est traduite ensuite en url pour cela il te faut utiliser la fonction path de twig sauf que la t'es dans des balise script est donc cela n'est pas interpréter...

    Donc soit tu met la véritable url en dure soit tu adoptes comme la plupart de la communauté le bundle fosJSRouting qui permet à l'interieur de .js d'avoir accès au route.

    Je sais pas si c'est très clair auquel cas n'hésite pas

  3. #3
    Membre expert
    Avatar de dukoid
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2012
    Messages
    2 100
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2012
    Messages : 2 100
    Points : 3 004
    Points
    3 004
    Par défaut
    yooo man rastafariiiiiiiiiiiiiiiiiiiiiiii ....



    moi man je fais comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
            $.ajax({
                 type: "POST",
                 url: "{{ url('messagegroup_ajaxrq') }}",     // l'URL
                 data: "data="+data,      // passer des paramètres
                 dataType: "html",
                 success: function(data){             
                           alert("retour requete");
                 }
            });

    // dans le routing.yml de app (pas celui d'un bundle)
    bah chez moi en sf2.1, il n'y a que dans l'app ou ça marche
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    messagegroup_ajaxrq:
        pattern: /messagegroup
        defaults: { _controller: AcmePageBundle:InscritsManagement:ajaxMessageGroup}

    pour info, tu peux aussi envoyer un formulaire en ajax avec cette méthode en serialisant le form dans data


    voilà man, je te garantie le succès .. yeaaaah rastafariiiiiiiiiii

  4. #4
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2014
    Messages
    483
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

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

    Informations forums :
    Inscription : Avril 2014
    Messages : 483
    Points : 0
    Points
    0
    Par défaut
    Bonjour,

    tout d'abord merci pour votre aide: Echyzen j'ai mis en effet l'url en dur et cela fonctionne bien, dukoid j'ai essayé ta solution (que je connaissais déjà pour l'avoir trouvé sur le web) mais cela ne fonctionne pas cependant.

    à bientôt.

  5. #5
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Septembre 2009
    Messages
    875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Septembre 2009
    Messages : 875
    Points : 1 313
    Points
    1 313
    Par défaut
    Le problème avec les routes dans les vues c'est qu'il faut etre dans twig pour les manipuler.
    C'est pourquoi il existe un bundle qui permet de génerer les routes en javascript.
    C'est le FOSJsRoutingBundle, un bundle simple qui permet d'exposer certaines des routes au javascript.

    Sinon, pour la methode de dukoid, si tu as besoin d'une url en relatif, il faut plutot utiliser path
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
                 type: "POST",
                 url: "{{ path('nom_de_la_route') }}",     // l'URL

  6. #6
    Membre habitué Avatar de Echyzen
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2012
    Messages
    123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2012
    Messages : 123
    Points : 178
    Points
    178
    Par défaut
    Exactement gototog a tous dit ce bundle est a utiliser dans un fichier .js pas .twig

    Moi je le trouve super mais bien sûr tu peut faire sans. En tout cas si t'as un problème avec n'hésite pas a le décrire si tu veut de l'aide

  7. #7
    Membre expert
    Avatar de dukoid
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2012
    Messages
    2 100
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2012
    Messages : 2 100
    Points : 3 004
    Points
    3 004
    Par défaut
    yooo man , en tout cas moi ça marche très bien comme j'ai cité plus haut et je valide même des formulaires de cette manière ...

  8. #8
    Membre habitué Avatar de Echyzen
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2012
    Messages
    123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2012
    Messages : 123
    Points : 178
    Points
    178
    Par défaut
    Je ne doute pas que cela marche mais comme dit précédemment directement dans un fichier .twig pas dans un .js

  9. #9
    Membre expert
    Avatar de dukoid
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2012
    Messages
    2 100
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2012
    Messages : 2 100
    Points : 3 004
    Points
    3 004
    Par défaut
    alors là man,

    soit tu utilise des input en hidden avec des data-url (HTML5) contenant la route
    soit tu t'autorise un peu de javascript dans ta vue avec des variables contenant les routes ajax.
    soit cette méthode quelque peu complexe ; http://helpdrupal.tubaldo.com/php/ar...ers-javascript
    soit tu écoute le Dieu gototog et tu utilise le bundle jsrouting



    yooooooo rastafariiiiiiiiiiii

Discussions similaires

  1. Réponses: 1
    Dernier message: 17/01/2011, 19h24
  2. Réponses: 13
    Dernier message: 29/07/2009, 20h25
  3. [Encoding] Accents dans les paramètres d'une URL
    Par nicolas.pied dans le forum ASP.NET
    Réponses: 1
    Dernier message: 01/07/2009, 14h18
  4. Passer, dans un paramètre URL, une URL multi-paramètres
    Par loopx dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 29/02/2008, 06h51
  5. Réponses: 2
    Dernier message: 11/10/2006, 13h37

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