Symfony - 在外部JS文件中创建路由

时间:2016-02-03 10:30:14

标签: javascript php symfony

我有一个外部的.js文件,我放了所有的ajax函数,例如

        $.getJSON(HVZ_priceCityAjax, {
            rating: rating.val(),
            comment: comment.val(),
            name: name.val(),
            returnTo: returnTo.val()
        })
        .done(function (data) {

        });

我希望通过Symfony路由直接在.js文件中创建URL,如下所示:

        $.getJSON('{{ path('ajaxPriceCity') }}', {
        ...

这有可能吗? FOSJsRoutingBundle不适用于 Symfony3

我目前的方式:

在所有网页上(定义它们并避免' undefined'错误):

<script>
   HVZ_priceCityAjax = false;
   HVZ_priceZipAjax = false;
   moreRules = false;
   ...
</script>

在需要该功能的页面上:

<script>
   HVZ_priceCityAjax = '{{ path('ajaxPriceCity') }}';
</script>

这是我提出的唯一解决方案,但这似乎效率不高。

还有另外一种方式,没有FOSJsRoutingBundle吗?

1 个答案:

答案 0 :(得分:0)

您需要做的就是将您的js文件设为模板。

<强> someJavascript.js.twig

$.getJSON('{{ path('ajaxPriceCity') }}', {
    ...

然后,包括它:

<script>
    {{ include('someJavascript.js.twig') }}
</script>

注意:还有其他方法可以将模板放到您想要的位置,但这是为了进行探索。