将Perl变量传递给HTML调用的Javascript函数
我有这个密码 Perl HTML 但是,它会发出警告,var1和var2未定义,因此不会传递参数。(注意,它是在Perl中定义的,作为转储程序完成的!) 有人能帮助我们正确地将Perl变量传递到JavaScript中吗?我已经搜索了这个网站,但是我找不到任何对我的要求有帮助的东西将Perl变量传递给HTML调用的Javascript函数,javascript,html,perl,Javascript,Html,Perl,我有这个密码 Perl HTML 但是,它会发出警告,var1和var2未定义,因此不会传递参数。(注意,它是在Perl中定义的,作为转储程序完成的!) 有人能帮助我们正确地将Perl变量传递到JavaScript中吗?我已经搜索了这个网站,但是我找不到任何对我的要求有帮助的东西 谢谢我不确定您正在模板化的引擎是什么,但我怀疑这一点 <select id="example" title="example" onchange="doThis(<% $var1, $var2 %>)
谢谢我不确定您正在模板化的引擎是什么,但我怀疑这一点
<select id="example" title="example" onchange="doThis(<% $var1, $var2 %>)">
vs
注意逗号和引号,确保
是转义内容的HTML。现在,这是否安全是一个完全不同的问题。您需要在perl中确保$var1
和$var2
没有“
也不以终端\
结尾。它会变得很难看。您需要查看页面在浏览器上显示时的外观。Perl是一种服务器端语言,而JavaScript是一种客户端语言。这意味着您的Perl在JavaScript被处理之前就已经被处理过了。您在Perl中声明的所有变量都消失了。@Pointy的意思是——在浏览器中加载页面并检查源代码——`onChange=“doThis()”>的外观如何?我不知道这里使用的(未指定)模板语言,但如果JSON包含引号,这不会失败吗?看起来像是注入错误。
<select id="example" title="example" onchange="doThis(<% $var1, $var2 %>)">
function doThis(var1, var2){
alert(var1);
alert(var2);
};
<select id="example" title="example" onchange="doThis(<% $var1, $var2 %>)">
<select id="example" title="example" onchange='doThis("<% $var1 %>", "<% $var2 %>")'>