with jquery i trying to post standard object to perl cgi script
js var data:
{
alias: ["a1","a2","a3"],
ip: "127.0.0.1",
name: "name",
port: "80",
}
js jquery post:
`$.post('/vhosts.cgi',{action: 'save',data: data);`
perl:
my $q = CGI->new;
print Dumper($q->param('data'));
result in Dumper is empty; Dump of $q shows that param names are data[ip],data[name] etc,
Dumper($q):
$VAR1 = bless( {
'.parameters' => [
'action',
'data[name]',
'data[ip]',
'data[port]',
'data[alias][]'
],
'data[alias][]' => [
'a1',
'a2',
'a3'
],
'.charset' => 'ISO-8859-1',
'data[ip]' => [
'127.0.0.1'
],
'data[port]' => [
'80'
],
'action' => [
'savevhost'
],
'data[name]' => [
'name'
],
'.fieldnames' => {},
'escape' => 1
}, 'CGI' );
How i can get data as object or hash in perl ?
If you don’t want to write own parser utility for
data[...]-like structures and mess with unicode problems and so on, you better use JSON encoding/decoding:Client side:
Server side:
I don’t think it’s so much hard way.