javascript - 使用 TWIG 中 JS 变量的参数生成 url

标签 javascript symfony twig

我有一个非常愚蠢的问题。 我正在尝试使用 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/

相关文章:

javascript - 可以采取哪些步骤来使用 ASP.NET Webforms 生成语义的、可访问的、符合标准的客户端输出?

javascript - 使大数字在 JavaScript 中可读

javascript - 使用 html 或客户端脚本从另一个文本文件导入 <head> 元素

Symfony2 找不到模板文件

javascript - 从 javaScript 设置 twig 变量

Javascript - 如何计算数组 reduce() 方法中对象数组的唯一 ID(值)

javascript - 使用多个独立的 gulp 文件构建不同的包

php - Symfony3 : Login error : Authentication request could not be processed

forms - Symfony2 嵌入式实体

使用 Twig 模板打开模态时 JavaScript 不会触发