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:

1
2
3
<script>
var route = "{{ path('blog_show', {'slug': 'my-blog-post'})|escape('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.