> Symfony中文手册 > 如何在JavaScript中生成路由URLs

如何在JavaScript中生成路由URLs

如果你使用的是Twig模板,你可以使用同一个path函数来设置javascript变量。escape函数帮助你转义任何“令JS不安全”的值:

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

但如果确实 需要在javascript中生成路由,考虑使用FOSJsRoutingBundle。它令下面代码成为可能:

1
2
3
var url = Routing.generate('blog_show', {
    'slug': 'my-blog-post'
});