Aller au contenu principal
loading

Symfony2 : accéder aux routes dans vos fichiers Javascript

POSTÉ DANS Symfony TAGS Symfony AUTEUR herve COMMENTAIRES 1

Vous souhaitez accéder aux routes dans vos fichiers javascript plutôt que de rentrer les URL à la mano, notamment pour faire de l'Ajax, voici la solution sous forme de tutoriel :

# Si vous n'avez pas composer, vous pouvez l'installer directement dans votre projet :

curl -s getcomposer.org/installer | php -d detect_unicode=Off



# Tout d'abord, il faut ajouter les lignes souivantes dans "composer.json" :

"require": {
     ...
     "friendsofsymfony/jsrouting-bundle": "~1.1"
}



#Ensuite, téléchargez le composant jsrouting:

php composer.phar update friendsofsymfony/jsrouting-bundle



#Puis ajouter le routing dans votre fichier 'app/config/routing.yml'

fos_js_routing:
     resource: "@FOSJsRoutingBundle/Resources/config/routing/routing.xml"

#Après, il faut déclarer les routes auxquelles on souhaite accéder :

fos_js_routing:
     routes_to_expose: [ (.*) ] 

#ici on permet l'accès à toutes les routes, sinon vous pouvez les déclarer une par une :

routes_to_expose: [ route1, route2, ... ]



# Enfin, installez les fichiers publics dans le repertoire web :

php app/console assets:install --symlink web



Voilà, il ne vous reste plus qu'à déclarer les fichiers JS dans votre layout :

<script src="{{ asset('bundles/fosjsrouting/js/router.js') }}"></script>
<script src="{{ path('fos_js_routing_js', {"callback": "fos.Router.setData"}) }}"></script>



Ensuite, dans votre fichier JS, il suffit de l'appeler comme ceci :

Routing.generate('route1')



exemple avec jQuery :

$.ajax({
   url: Routing.generate('route1')
}).done(function(data) {...});

 

 



1 commentaire

Derniers articles

DDEV : obtenir la liste des services
DDEV : obtenir la liste des services Posté le 27 janvier 2021
Partager un répertoire local sous Docker
Partager un répertoire local sous Docker Posté le 27 janvier 2021
Docker et Localhost Mac
Docker et Localhost Mac Posté le 27 janvier 2021
Affichage de la requête SQL d'un db_select
Affichage de la requête SQL d'un db_select Posté le 24 septembre 2020

A propos de Web'Up