You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Volt模板中向JavaScript传递数组?

在Phalcon的Volt模板中向JavaScript传递数组的方法

直接在Volt模板中使用PHP的json_encode函数,并配合raw过滤器即可解决问题,具体写法如下:

方法一:模板内直接转换

<script type="text/javascript">
    var usersList = {{ json_encode(array_from_volt) | raw }};
</script>

为什么原来的写法不生效?

直接输出{{ array_from_volt }}时,Volt会将PHP数组转为普通字符串(比如显示为Array或数组的字符串形式),这种格式无法被JavaScript识别。而json_encode会把PHP数组转换为符合JS语法的JSON格式字符串,再通过raw过滤器避免Volt自动转义HTML实体(比如将双引号转成&quot;),确保JSON代码能被JS正确解析。

方法二:控制器提前转换

也可以在控制器中先把数组转为JSON字符串,再传递给模板:

控制器代码:

$this->view->usersJson = json_encode($your_php_array);

模板代码:

<script type="text/javascript">
    var usersList = {{ usersJson | raw }};
</script>

两种方式都能实现需求,可根据实际场景选择。

内容的提问来源于stack exchange,提问作者morteza mortezaie

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 12:54:20