我正在寻找一种方法将使用JQuery收集的数组中的数值移动到一个新的数组中供Perl选取。这有可能并且有一个首选方法吗?
JQuery Array: addVssID
Hash array: $self->input->vssID
这是我的JSON:说实话,我真的不明白这是如何运作的。
var ShippingInput = $('<input type="hidden" name="Shipping" />');
$ShippingInput.val(JSON.stringify(getShipping()));
$form.append($ShippingInput);
在Perl的另一端,我等着抓住结果:
my $Shipping = [];
eval { $Shipping = JSON::from_json($self->input->{'vendor'}->{'Shipping'});
};
最终我想将数组值移动到MySQL表中。另一种选择是将数组推入MySQL表并将其拉出到Perl中进行处理。我不知道这是否会发生任何变化,但我们也提供了Template Toolkit。
UPDATE /溶液: 采用JSON路径,我从复选框中取出动态值(value ='Shipping _ ###'),剥离文本并将数字添加到数组中。关于JSON / JQUERY如何工作,我仍然很感兴趣,但这里是get函数,它似乎正在工作:
function getShipping() {
// called onSave from submitForm()
var shipping = [];
$('.Shipping').each(function(i, Shipping) {
shipping.push($(Shipping).attr('id').replace('Shipping_', ''));
});
return shipping;
}
答案 0 :(得分:3)
你可以做以下两件事之一:
正如Barmar指出的那样,将整个数据集(使用jQuery)收集到一个JSON数据结构中。然后将其序列化(编码)为字符串,并将该字符串作为POST参数传递给Perl Web后端代码。在Perl中,使用JSON
模块解码它(它将能够从JSON构建一个Perl数据结构,以相同的方式映射它)。
创建一组输入字段(隐藏或不隐藏,基于您的webapp)。然后在Perl中读取它们,并手工制作数据结构。
由于您没有提供具体的示例代码,因此很难提供更具体的帮助