perl哈希表和javascript变量

perl哈希表和javascript变量,perl,Perl,我有一个CGI脚本, 我想输入一个从perl哈希表到java脚本var tt的值。 (我在代码中提到了哪些有效,哪些无效) perl: js: 警报将打印如下内容: {"192.116.153.32":["examle1.txt","examle2.txt",...]} {"192.116.153.32":["examle1.txt","examle2.txt",...]} JavaScript和Perl是不同的语言。JS代码和CGI脚本将在不同的计算机上运行 CGI脚本创建一个页面,然后

我有一个CGI脚本, 我想输入一个从perl哈希表到java脚本var tt的值。 (我在代码中提到了哪些有效,哪些无效)

perl:

js:

警报将打印如下内容:

{"192.116.153.32":["examle1.txt","examle2.txt",...]}
{"192.116.153.32":["examle1.txt","examle2.txt",...]}
JavaScript和Perl是不同的语言。JS代码和CGI脚本将在不同的计算机上运行

  • CGI脚本创建一个页面,然后将该页面传输到浏览器。不管这个页面是什么类型的数据,任何JS代码都只是这个脚本的普通数据。例如,您的代码段可能会变成

    $('#示例tr')。单击(函数(){
    $(这是“tr”)。每个(函数(索引,tr){
    变量行=$('td',tr).map(函数(索引,td){
    返回$(td.text();
    });
    var d=行[0];
    var test='对应的设备';//正在工作
    var tt='@{$devices{'+''+d+'+'''+'}};//不工作
    警报(tt);
    
    这是浏览器看到的。Perl代码对浏览器没有任何意义

  • 然后浏览器呈现页面并执行任何JS脚本。此时,与CGI脚本没有任何连接

如果您想连接到服务器,可以使用AJAX请求。但是请注意,生成页面的第一个CGI脚本届时将终止,因此所有变量都将丢失–您需要将任何数据存储在数据库中。

JavaScript和Perl是不同的语言。JS代码和CGI脚本将在不同的计算机上运行。

  • CGI脚本创建一个页面,然后将该页面传输到浏览器。不管该页面是什么类型的数据,任何JS代码都只是该脚本的普通数据。例如,您的代码片段可能会变成

    $('#示例tr')。单击(函数(){
    $(这是“tr”)。每个(函数(索引,tr){
    变量行=$('td',tr).map(函数(索引,td){
    返回$(td.text();
    });
    var d=行[0];
    var test='对应的设备';//正在工作
    var tt='@{$devices{'+''+d+'+'''+'}};//不工作
    警报(tt);
    
    这是浏览器看到的。Perl代码对浏览器没有任何意义

  • 然后浏览器呈现页面并执行任何JS脚本。此时,与CGI脚本没有任何连接

如果您想连接到服务器,可以使用AJAX请求。但是请注意,生成页面的第一个CGI脚本将在那时终止,因此所有变量都将丢失–您需要将任何数据存储在数据库中。

您可以使用Perl模块将对Perl哈希的引用转换为包含相关JavaScript的字符串数组:

use JSON; # imports encode_json, decode_json, to_json and from_json.

 # simple and fast interfaces (expect/generate UTF-8)

 $utf8_encoded_json_text = encode_json \%devices;
js:

警报将打印如下内容:

{"192.116.153.32":["examle1.txt","examle2.txt",...]}
{"192.116.153.32":["examle1.txt","examle2.txt",...]}
您可以使用Perl模块将对Perl哈希的引用转换为包含JavaScript关联数组的字符串:

use JSON; # imports encode_json, decode_json, to_json and from_json.

 # simple and fast interfaces (expect/generate UTF-8)

 $utf8_encoded_json_text = encode_json \%devices;
js:

警报将打印如下内容:

{"192.116.153.32":["examle1.txt","examle2.txt",...]}
{"192.116.153.32":["examle1.txt","examle2.txt",...]}

注意:无论何时混合这样的语言,在perl中使用单引号字符串构建javascript都是很有帮助的。这样你就不必逃避所有的美元符号。
$
。注意:无论何时混合这样的语言,在perl中使用单引号字符串构建javascript都是很有帮助的。这样你就不必担心了o跳过你所有的美元符号。
$
。谢谢你,你能解释更多关于我的例子吗?@user3485339我添加了一个例子。谢谢你,你能解释更多关于我的例子吗?@user3485339我添加了一个例子。