Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/256.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Twig中使用Javascript值_Javascript_Php_Symfony - Fatal编程技术网

在Twig中使用Javascript值

在Twig中使用Javascript值,javascript,php,symfony,Javascript,Php,Symfony,我的问题与此类似: 除了我想使用Javascript中的变量(值)与Twig一起使用之外 我有一个简单的脚本: <script type="text/javascript" charset="utf-8"> var test = "1"; </script> var test=“1”; 我想在我的Twig页面中使用var test变量,与我在控制器中已经设置的、可以在Twig页面中使用的另一个值进行比较。如前所述,Twig在服务器上以PHP运行,JavaScrip

我的问题与此类似:

除了我想使用Javascript中的变量(值)与Twig一起使用之外

我有一个简单的脚本:

<script type="text/javascript" charset="utf-8">
var test = "1";
</script>

var test=“1”;

我想在我的Twig页面中使用var test变量,与我在控制器中已经设置的、可以在Twig页面中使用的另一个值进行比较。

如前所述,Twig在服务器上以PHP运行,JavaScript变量在客户端上运行。要在服务器端模板中使用它,需要使用AJAX请求将变量值返回到服务器,然后使用该响应替换浏览器中的内容

实现您所要求的功能的一种潜在方法是使用类似于Twig的JavaScript实现。这将允许您的细枝模板使用JavaScript变量,而无需返回服务器


var test=“1”;
var模板=细枝({
数据:'测试的值为{{test}'
});
document.getElementById('some-element').innerHTML=template.render({test:test});

我觉得这对你来说太过分了。这实际上取决于您的用例是什么以及您试图实现什么。

您不能,因为您的服务器端分支模板在客户端JavaScript运行时早已完成解析。如果您想从客户机向服务器获取一个值,那么您需要发出一个额外的HTTP请求(链接、表单、AJAX)。您的用例是什么?为什么需要它?它不能是表单,也不能发送到服务器。这就是为什么我认为如果我可以在TwigMy的情况下使用JS值,那么如果test(javascript)的值等于“1”,则显示页面,否则什么也不显示。这就是为什么我需要在Twig中获取该值,这样我就可以在Twig中执行所有操作,而无需返回服务器。。。{%endif%}您需要哪些在服务器上无法获取的值?检查一下客户的情况?如果是这样,您可能可以从服务器上的请求头中获得它。