Ich habe mir per ajax ein Test aufgebaut der folgendes übergibt:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
// POST VAIABLES
var obst = { bananen : "", aepfel : "" }
obst.bananen = ["Dessertbanane", "Babybanane", "Faserbanane"]
obst.aepfel = ["Renette", "Boikenapfel", "Gewürzluiken"]
var gemuese = ["Brokoli", "Spinat", "Wirsing"]
var array = [];
array.push(obst);
array.push(gemuese);
var array_ips = [ "127.0.0.1","localhost" ]
var postdata = { IsMobil : 0, sorten : array, ips : array_ips, ClientIP : "123.123.123.123" }
$.ajax({ url : "index.pl",
async : false,
data : postdata,
type : 'POST',
success : function(result){
$(".result").html(result);
}
});
Mit
if( $ENV{CONTENT_LENGTH} ){
read(STDIN, my $content, $ENV{CONTENT_LENGTH});
my @paras = split(/&/, uri_unescape($content));
print "PARAMETER:<br/>";
foreach(@paras){
print $_."<br/>";
}
print "<br />CONTENTTYPE: ".$ENV{'CONTENT_TYPE'};
}
bekomme ich folgendes Ergebnis:
PARAMETER:
IsMobil=0
sorten[0][bananen][]=Dessertbanane
sorten[0][bananen][]=Babybanane
sorten[0][bananen][]=Faserbanane
sorten[0][aepfel][]=Renette
sorten[0][aepfel][]=Boikenapfel
sorten[0][aepfel][]=Gewürzluiken
sorten[1][]=Brokoli
sorten[1][]=Spinat
sorten[1][]=Wirsing
ips[]=127.0.0.1
ips[]=localhost
ClientIP=123.123.123.123
CONTENTTYPE: application/x-www-form-urlencoded; charset=UTF-8
Wie bekomme ich jetzt dies in eine vernünftige Struktur? Hat wer eine Regex für mich mit der ich anfangen kann? Bin für Tipps offen :)