Как генерировать URL маршрутизации в JavaScript

Как генерировать URL маршрутизации в JavaScript

Если вы находитесь в шаблоне Twig, вы можете использовать всё ту же функцию path(), чтобы установить переменные JavaScript. Функция escape() помогает экранировать любые значения небезопасные для JavaScript:

  • 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>
    

Но если вам действительно нужно сгенерировать маршруты на чистом JavaScript, рассмотрите возможностьиспользования FOSJsRoutingBundle. Он делает возможным следующее:

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

Эта документация является переводом официальной документации Symfony и предоставляется по свободной лицензии CC BY-SA 3.0.