gpt4 book ai didi

javascript - 如何通过 AJAX 将 JavaScript 数组传递给 Perl 脚本?

转载 作者:行者123 更新时间:2023-11-29 18:17:31 25 4
gpt4 key购买 nike

如何从通过 AJAX 传递的 JavaScript 数组创建 Perl 数组?

Perl 访问:

@searchType = $cgi->param('searchType');
print @searchType[0];

输出:

employee,admin,users,accounts

似乎 Perl 数组将第一个值 (@searchType[0]) 设置为所有传递的 JavaScript 数组对象的字符串。

最佳答案

这是一个老问题,所以我不确定你是否仍然对它感兴趣,但也许其他人也对这个问题感兴趣。

正如上面评论中已经建议的那样,通过 ajax 将 javascript 数组传递给 Perl 的一种方法是首先将该数组转换为 JSON 对象 - 使用“JSON.stringify(jsArray);” - 然后在 Perl 脚本中解码。我在下面添加了一个非常简单的示例,其中数组的第一项通过警报返回。

index.html:

<!DOCTYPE html>
<html>
<head>
<title>Testing ajax</title>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script>

$(document).ready(function() {

$("#test").click(function(){
var jsArray = ["employee", "admin", "users", "accounts"];
var jsArrayJson = JSON.stringify(jsArray);
$.ajax({
type: 'POST',
url: '/cgi-bin/ajax/stackCGI/processJsArray.pl', //change the path
data: { 'searchType': jsArrayJson},
success: function(res) {alert(res);},
error: function() {alert("did not work");}
});
})

})

</script>
</head>
<body>
<button id="test" >Push</button>

</body>
</html>

processJsArray.pl

#!/usr/bin/perl

use strict;
use warnings;

use CGI;
use JSON;

my $q = CGI->new;

my @myJsArray = @{decode_json($q->param('searchType'))}; #read the json object in as an array

print $q->header('text/plain;charset=UTF-8');
print "first item:"."\n";
print $myJsArray[0]."\n";

关于javascript - 如何通过 AJAX 将 JavaScript 数组传递给 Perl 脚本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21790252/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com