如何在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'
}); |