【发布时间】:2014-09-15 06:59:47
【问题描述】:
这是我的 app/routing.yml
前端包:
resource: "@FrontendBundle/Resources/config/routing.yml" prefix: /{_locale}/ requirements: _locale: en|es后端包:
resource: "@BackendBundle/Resources/config/routing.yml" prefix: /{_locale}/app requirements: _locale: en|esfos_js_routing: 资源:“@FOSJsRoutingBundle/Resources/config/routing/routing.xml”
这是我的 BackendBundle\Resources\Config\routing.yml
getModelsFromMake:
pattern: /getModelsFromMake/{idMake} defaults: { _controller: BackendBundle:Backend:getModelFromMake } options: expose: true
我的问题是当我像这样进行 ajax 调用时:
$.ajax({ 类型:“POST”,
url: Routing.generate('getModelsFromMake'), data: { idMake: $('#make').val(), }, dataType: "json", success: function(data) { console.log("All OK"); }, error: function() { console.log("ERROR"); } });
chrome 检查员告诉我:
Uncaught Error: The route "getModelsFromMake" requires the parameter "_locale".
有什么办法解决这个问题吗?
编辑 1:
在我的布局中我有这个:
<script type="text/javascript" src="{{ asset('bundles/fosjsrouting/js/router.js') }}"></script> <script src="{{ path('fos_js_routing_js', {"callback": "fos.Router.setData"}) }}"></script>
编辑 2:
如果我运行命令“php app/console fos:js-routing:debug”,我会得到:
Name Method Pattern
getModelsFromMake ANY /{_locale}/app/getModelsFromMake
【问题讨论】:
-
该代码是否包含在视图中?
-
不,javascript 在另一个文件(Resources\backend.js)中,在我的布局中我导入了这样的文件: