在 symfony 中的 javascript 文件中路由静态 url


Routing static urls in javascript files in symfony

我的Symfonyt2项目中有一些javascript文件,可以从javascript文件动态加载一些资源。
例如:

$('.records_list').DataTable({
    "language": {
        "url": "../shared/js/datatables.persian.json"
    }
});
URL

../shared/js/datatables.persian.json在具有 URL 的页面中工作,例如 /test 但在具有 URL IKE 的页面中/test2/action失败。
我该如何解决这个问题?
有没有像cssrewrite资产过滤器这样的工具?
或者我可以为此类网址创建路由吗?

如果你没有太多这样的情况,你可以将带有树枝的文件路径存储在隐藏的div中,例如:

<div id="file-store" style="display:none;" data-value="{{ asset('shared/js/persian.json') }}"></div>

并在 js 中检索它:

var sharedFile = $('#file-store').attr('data-value');
$('.records_list').DataTable({
    "language": {
        "url": sharedFile
    }
});

如果你有很多这样的情况,那么你可以利用FOSJsRoutingBundle

https://github.com/FriendsOfSymfony/FOSJsRoutingBundle