php 如何在Symfony中使用javascript变量生成路线?

14ifxucb  于 2023-01-12  发布在  PHP
关注(0)|答案(2)|浏览(88)

我尝试使用javascript路由在Symfony根据本教程:https://symfony.com/doc/master/bundles/FOSJsRoutingBundle/usage.html
下面是我的代码:

...
  "render": function (data, type, row, meta) {
  return Routing.generate('get-file', { fileId: data });

}
...

修改脚本:

<script src="{{ asset('bundles/fosjsrouting/js/router.min.js') }}"></script>
<script src="{{ path('get-file', { callback: 'fos.Router.setData' }) }}"></script>
<script>
const routes = require('../../public/js/fos_js_routes.json');
import Routing from '../../vendor/friendsofsymfony/jsrouting-bundle/Resources/public/js/router.min.js';

Routing.setRoutingData(routes);
Routing.generate('rep_log_list');
</script>

但我得到的错误:
呈现模板期间引发异常("缺少一些必需参数(" fileId "),无法生成路由" get-file "的URL。")。

lokaqttq

lokaqttq1#

你不需要一捆钱就能做到。
使用默认参数生成路由,然后将其替换为JavaScript变量。

let route = "{{ path('get-file', { filedId: 'fileId_' }) }}";
route = route.replace('fileId_', yourVariable);
sigwle7e

sigwle7e2#

太感谢了!!我已经找了很长一段时间了,但是我到处都找不到。

相关问题