我在 template toolkit 工作框架。我的 tt 文件中有一个 perl 哈希数据类型。我想将此哈希数据类型转换为 javascript 哈希数据类型。
代码: 模板:
[% PERL %]
use JSON qw(encode_json);
my $vars = {
'version' => 3.14,
'days' => [ qw( mon tue wed thu fri sat sun ) ],
'cgi' => CGI->new(),
'me' => {
'id' => 'abw',
'name' => 'Andy Wardley',
},
};
my $json = encode_json($vars->{'me'});
[% END %]
<script>
function callme(){
var me = [% $json %]
}
</script>
现在我希望 me 哈希可以在 javascript 中访问
最佳答案
有几个 TT 插件可用于执行此操作,其中任何一个都是比将原始 perl 嵌入到模板中更好的解决方案。就个人而言,我更喜欢JSON::Escape , 但还有其他一些。在每天或多或少每天编写 TT 的 5 年多时间里,我从未不得不求助于使用 [% PERL %]
指令。我想我不是在写 CGI。 YMMV.
[%- USE JSON.Escape( pretty => 1 );
SET me = { id => 'abw', name => 'Andy Wardley' };
...
-%]
<script>
function callme() {
var me = [% me.json %]
...
</script>
关于javascript - 如何将 perl 哈希转换为 javascript 哈希,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13529284/