我有这段代码
的Perl
my $var1 = to_json \@an_array1;
my $var2 = to_json \@an_array2;
HTML
<select id="example" title="example" onchange="doThis(<% $var1, $var2 %>)">
的JavaScript
function doThis(var1, var2){
alert(var1);
alert(var2);
};
但是它警告var1和var2未定义,因此不传递参数。 (n.b.它在Perl中被明确定义,完成了一个Dumper!)。
任何人都可以帮助将Perl变量传递给JavaScript的正确方法吗?我搜索过网站,但找不到任何可以帮助我解决问题的内容。
由于
答案 0 :(得分:0)
我不确定你是什么模板引擎,但这对我很怀疑,
<select id="example" title="example" onchange="doThis(<% $var1, $var2 %>)">
vs
<select id="example" title="example" onchange='doThis("<% $var1 %>", "<% $var2 %>")'>
注意逗号和引号另外,确保<% %>
是HTML转义内容。现在这是否安全是一个完全不同的问题。您希望在perl中确保$var1
和$var2
没有"
,也不会在终端\
中结束。它会变得丑陋。