如何链接JS路由变量和Symfony 2 url


How to link JS route var and Symfony 2 URLs

我想知道连接SF2路线最灵活的解决方案是什么&一个包含路由的JS变量。对于静态路由,我没有任何问题,但是当我想用参数连接URL时,我没有找到任何解决方案(没有硬编码)。

如果我编辑路由怎么办?更改动态URL

我使用var url = "domain.com/path/to/url/with/" + token + "/and/" + name来生成,但它不灵活。

我知道树枝生成的url是服务器端等…

有答案吗?

示例:

JS

var route = {
    home : "{{ path("home") }}",
    custom_route : "{{ path("my_custom_route") }}"
}

路由。yml

my_custom_route:
    pattern:  /path/to/url/with/{token}/and/{name}
    defaults: { _controller: "SupboxCloudBundle:Public:file" }

我想你可以试试FOSJSRoutingBundle

嗯,这取决于你想要达到的结果。你是在JS应用程序中做这个吗?

如果是我,我会在DOM中呈现路由或路由参数。我不会在JS中渲染任何东西,我会使JS代码抽象。

例如:

<div data-custom="{{ path("my_custom_route") }}"></div>
<div data-home="{{ path('home') }}"

<a href="{{ path("my_custom_route") }}" data-route="home">whatever</a>

,那么你可以在需要的时候在JS中抓取你的路由(来自第一个例子):

var route = {
    home: $('div[data-home]').data('home'),
    custom_route: $('div[data-custom]').data('custom')
}

这有点乱,因为我只是想向你展示一个概念。然而,你的实际实现将取决于你想要达到的实际结果。

如果你在下面评论一个更具体的意图,我将为你提供一个更好的解决方案。