将JavaScript变量分配给Twig变量Symfony 2

4
我想要将一个Javascript变量的值赋给一个Twig变量,如下所示:

$(".change-mod").click(function(){
   var id=$(this).attr("id");
   {{% set page =  'here i want to assign id to page' %}}
});

我该怎么做呢?


2
Twig 代码在服务器上执行。Javascript 代码在客户端上执行。你不能以这种方式在它们之间传输数据。 - lonesomeday
有关编程的内容,请将以下文本从英语翻译成中文。仅返回已翻译的文本:“有什么建议如何做到这一点?” - Safwen
1
不知道你的目的是什么,很难说。解决方案可能是AJAX;也可能是Javascript模板;也可能是简单的DOM操作;或者是普通的HTTP请求。你需要找出最适合你目的的方法。 - lonesomeday
也许可以通过发送 AJAX 请求来实现,但是需要注意的是,任何 Twig 变量都是易失性的,因为它们将在请求结束时过期... - Jovan Perovic
3个回答

3

这是不可能的。这是两码事。

Javascript运行在客户端浏览器上,而TWIG模板系统是在服务器上生成的。

你只能在生成的页面上通过Javascript替换生成的HTML内容,或者通过AJAX请求并从服务器响应中获取你的内容。


1

this my stupid solve

$(".change-mod").click(function(){
   var id=$(this).attr("id");
$.ajax({
         url: 'jstotwig.php',
         type: 'POST',
         data: {id: id},
       success: function(data) {
                var page =  "here i want to assign"+data+"to page"
                }
         });
});

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接