Symfony 4 was released on November 30th.
Update now to the best Symfony ever!

You are browsing the Symfony 4 documentation, which changes significantly from Symfony 3.x. If your app doesn't use Symfony 4 yet, browse the Symfony 3.4 documentation.

How to Generate Routing URLs in JavaScript

How to Generate Routing URLs in JavaScript

If you're in a Twig template, you can use the same path() function to set JavaScript variables. The escape() function helps escape any non-JavaScript-safe values:

  • Twig
    1
    2
    3
    <script>
    var route = "{{ path('blog_show', {'slug': 'my-blog-post'})|escape('js') }}";
    </script>
    
  • PHP
    1
    2
    3
    4
    5
    6
    7
    8
    <script>
    var route = "<?php echo $view->escape(
        $view['router']->path('blog_show', array(
            'slug' => 'my-blog-post',
        )),
        'js'
    ) ?>";
    </script>
    

But if you actually need to generate routes in pure JavaScript, consider using the FOSJsRoutingBundle. It makes the following possible:

1
2
3
4
5
<script>
var url = Routing.generate('blog_show', {
    'slug': 'my-blog-post'
});
</script>

This work, including the code samples, is licensed under a Creative Commons BY-SA 3.0 license.