Php 如何在symfony中生成带变量的字符串

Php 如何在symfony中生成带变量的字符串,php,javascript,symfony,Php,Javascript,Symfony,我想使用以下代码: document.getElementById("btn").setAttribute("href", "{{ path('deletecontact', { 'id': "idx" }) }}"); 向按钮添加属性以删除所选联系人 idx是javascript函数的参数。现在id总是字符串“idx”,但是如果我将“”删除到idx,将会出现symfony错误 我尝试使用“+”链接字符串,如: "{{ path('deletecontact', { 'id': "+idx+

我想使用以下代码:

document.getElementById("btn").setAttribute("href", "{{ path('deletecontact', { 'id': "idx" }) }}"); 
向按钮添加属性以删除所选联系人

idx是javascript函数的参数。现在id总是字符串“idx”,但是如果我将“”删除到idx,将会出现symfony错误

我尝试使用“+”链接字符串,如:

"{{ path('deletecontact', { 'id': "+idx+" }) }}"
但结果是它将把字符串“+idx+”作为id

我也试过:

var str1 = "{{ path('deletecontact', { 'id': ";
var str2 = str1 + idx;
var str3 = str2 +" }) }}";
但是,symfony中也会出现错误

那么我怎么才能把变量放到字符串中呢?
非常感谢

您的“href”属性的值存在解析问题。看看“you have.”和“you have.”它们不起作用。我认为你把事情搞混了。你的
{path}
是由php(通过twig)计算的,而
idx
是一个javascript变量。这意味着
idx
的值只在运行时(客户端)可用,并且
path
在这之前(在服务器上)呈现。您必须将url路径指定为javascript的字符串,例如,
href:“/path/matching/your/route/“+idx
。或者,有一个捆绑包可以让javascript访问Symfony路由:另一个解决方法是创建btn,如下所示:
,即只创建具有有效路径的按钮。然后,您可以访问javascript中的url,并将其用作一种模板url,根据需要替换id,例如通过regexp。非常感谢。我用第二种方法解决了这个问题。那很有用。Thx@马霍克