如何在JavaScript中生成路由URLs

3.4 版本
维护中的版本

如果你使用的是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'
});

本文,包括例程代码在内,采用的是 Creative Commons BY-SA 3.0 创作共用授权。

登录symfonychina 发表评论或留下问题(我们会尽量回复)