我有一个非常愚蠢的问题。 我正在尝试使用 JS 变量在 twig 中生成一个 url。
当我手动编写它们时它可以工作:
var url = "{{ path('geolocation', {'latitude':'41.39109','longitude':'2.15485','accuracy':'1114'}) }}";
但当我使用变量时却不会:
var url = "{{ path('geolocation', {'latitude':latitude,'longitude':longitude,'accuracy':accuracy}) }}";
可能会发生什么? 当然,变量存在并且定义正确。
似乎没有正确获取参数:
An exception has been thrown during the rendering of a template ("Parameter "accuracy" for route "geolocation" must match "[^/]++" ("" given) to generate a corresponding URL.").
但是当我去的时候:
console.log(latitude + " " + longitude + " " + accuracy);
结果是
41.39109 2.15485 1114
最佳答案
我建议您使用FOSJsRoutingBundle :
var url = Routing.generate('geolocation', { latitude: latitude, longitude: longitude, accuracy:accuracy })
注意:请注意添加正确的 js 文件包含并公开 Controller 的路由,如文档中所述。
关于javascript - 使用 TWIG 中 JS 变量的参数生成 url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44497315/