У меня есть этот код
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 не определены, поэтому параметр не передается. (nb определенно определено в Perl, сделано самосвал!).
Может ли кто-нибудь помочь в правильном способе передать переменную Perl в JavaScript? Я искал сайт, но я не могу найти ничего, что помогло бы мне с тем, что я прошу.
благодаря
Я не уверен, какой у вас шаблонный движок, но это подозрительно для меня,
<select id="example" title="example" onchange="doThis(<% $var1, $var2 %>)">
против
<select id="example" title="example" onchange='doThis("<% $var1 %>", "<% $var2 %>")'>
Обратите внимание на запятую и цитаты. Кроме того, убедитесь, что <% %>
- это HTML. Экранирование содержимого. Теперь, независимо от того, безопасно это или нет, это совершенно другой вопрос. Вы хотите быть уверенным в perl, что $var1
и $var2
не имеют "
и не заканчиваются в терминале \
. Это будет ужасно.