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
在myrouting.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;
}