Javascript FOSJsRoutingBundle无法识别路由

Javascript FOSJsRoutingBundle无法识别路由,javascript,symfony,url-routing,Javascript,Symfony,Url Routing,我正在尝试使用FOSJsRoutingBundle从symfony路由生成URL。 我遵循规则 我将这些文件包括在我的base.html.twig中: {% block scripting %} ... <script type="text/javascript" src="{{ asset('bundles/fosjsrouting/js/router.js') }}"></script> <script src="{{ path('fos_js_routing_

我正在尝试使用
FOSJsRoutingBundle
从symfony路由生成URL。 我遵循规则

我将这些文件包括在我的
base.html.twig
中:

{% block scripting %}
...
<script type="text/javascript" src="{{ asset('bundles/fosjsrouting/js/router.js') }}"></script>
<script src="{{ path('fos_js_routing_js', {"callback": "fos.Router.setData"}) }}"></script>        
...
{% endblock %}
得到 500(内部服务器错误)listar:131未捕获错误:路由 “usuarios_crear”不存在。router.js:9

在my
routing.yml
中,我有:

usuarios_crear:
    pattern: /AbmUsuarios/crear
    defaults: { _controller: AbmBundle:Usuario:crear }
    options:
        expose: true
路由位于
php应用程序/控制台fos:js路由:debug
列表中:

通常情况下

有什么想法吗?

你的代码很棒


我建议您打开一个问题,这很可能是一个bug。

这可能比您想象的要容易。 访问此处生成的页面:
{{path('fos_js_routing_js',{“callback”:“fos.Router.setData”}}}
它应该有您公开的路由的json编码列表。如果你的路线在那里,你就很好

在执行
console.log(Routing.generate('usuarios_crear'))时如何检查
在您尝试之前,文档应该准备好。因此,请确保它是(即jQuery的$('document').ready()
)。

在作者建议不使用开发主版本的地方阅读。 我将降级到“@stable”,现在可以工作了。 composer.json行可能是:

“friendsofsymfony/jsrouting bundle”:“@stable”


有关更多详细信息:

不需要composer.json文件中的
dev master
,永远不要,永远不要!这是一种坏习惯

依赖稳定版本请:

尝试使用此代码 假设您有一个
onclick
函数,在单击时接收一个
id
,那么您的js代码将是这样的

function show(id)
{

    var url = '{{ path('usuarios_crear',{ id: 'id' }, {"callback": "fos.Router.setData"}) }}';
    url = url.replace("id", id);
    window.location.href = url;

} 

我也遇到了同样的问题,解决方案是在安全配置中包含匿名访问的
^/js/*
路由


我希望有帮助

很明显,但很容易被忽略,问题是,您是否清除了缓存?您是否找到了解决方案?我也遇到了同样的问题:/@nielsv尝试安装稳定版本,而不是master-dev。我在Document.ready,plugins,JS-plain上测试。谢谢,我想了想。
function show(id)
{

    var url = '{{ path('usuarios_crear',{ id: 'id' }, {"callback": "fos.Router.setData"}) }}';
    url = url.replace("id", id);
    window.location.href = url;

}