0

我正在尝试开发一个购物网站。当用户在购物车中添加项目时,我不想为每个“添加到购物车”操作点击数据库,而是将所有内容存储在 j-query 变量中。当用户点击“结帐”按钮时,我想在数据库中添加所有内容。

我面临的问题是如何使用ajax Jquery 调用将所有项目列表发送到perl 脚本?以及如何从 perl 脚本中提取信息,并在 DB 中添加行。

我能想到的一种方法是创建一个数组并将其发送到 perl 脚本。

var items = [
  { "itemname": "item1", "mrpprice": 22.00, "sellprice" : 21.50, "quantity": 2},
  { "itemname": "item2", "mrpprice": 24.00, "sellprice" : 22.50, "quantity": 1}
];


$.ajax({
    type: "POST",
    url: "/cgi-bin/submit_order.pl", // URL of the Perl script
    contentType: "application/json; charset=utf-8",
    dataType: "json",
    data: { itemsArray : items },
    success: function(data){
          alert ("success"); }
 });

在 perl 脚本中

my @values = $cgi->param('itemsArray[]');
my $quan = $values[0]{'quantity'};

但是上面的 perl 是行不通的。

问题是我无法提取信息 perl 脚本。任何人都可以建议我为完整的事情提供更好的方法或指导我在 perl 中提取信息。

您的帮助将不胜感激。

德韦什

4

1 回答 1

2

如果你不知道 jQuery 发送什么样的请求,Data::Dumper 自然是 $cgi 对象,或者 $cgi->dump; 我和data: { 'toy_number': items },

                  "toy_number[0][itemname]"  => ["item1"],
                  "toy_number[0][mrpprice]"  => [22],
                  "toy_number[0][quantity]"  => [2],
                  "toy_number[0][sellprice]" => [21.5],
                  "toy_number[1][itemname]"  => ["item2"],
                  "toy_number[1][mrpprice]"  => [24],
                  "toy_number[1][quantity]"  => [1],
                  "toy_number[1][sellprice]" => [22.5],

我希望你会得到类似的

于 2013-09-21T17:27:31.000 回答