【问题标题】:Passign the "key" "values" from JSON object to perl script将 JSON 对象中的“键”“值”传递给 perl 脚本
【发布时间】:2012-11-29 10:31:16
【问题描述】:

我正在尝试构建一个购物车应用程序。我在一个名为 Cart 的 javascript 对象中拥有购物车中的所有商品。例如,购物车中的数据格式为 {"sku"=quantity}。

     Cart={"5x123"=1,"5x125"=3}

现在我有一个接受送货地址和帐单地址的表格。

 <form method="post" action="/perl/xxxx/echo.cgi"> 
    <table>
    <tr>
        <td>Name:</td>
        <td><input type="text" name="name" size="30" /></td>
    </tr>

    <tr>
        <td>Shipping Address:</td>
        <td><Input type="text" name="address" id="saddress" size="40" /></td>
    </tr>
    ....
    <tr>
        <td><input type="reset" /></td>
        <td><input type="submit" value="Submit Order"/></td>
    </tr>  
    </table>
   </form>   

当我提交此表单时,我需要使用 perl 将 Javascript Object Cart 中的“sku”和“quantity”存储到 DB 中。

谁能告诉我最简单的方法?

我应该在表单中 ajax 还是隐藏值?

如果我使用 ajax,那么如何在 perlscript 中从 Cart 中检索值?

如果我以这种方式使用隐藏值

    <input type=hidden name=sku value="">
     //How to populate value field
    //I need to have as many hidden fields as the number of items in cart 

谢谢,

【问题讨论】:

    标签: javascript html ajax perl


    【解决方案1】:

    在浏览器中使用 AJAX 将您的 JavaScript 对象提交给服务器。 Jquery javascript 库非常适合在这里为您提供帮助。

    然后,使用 cgi 中的 CGI perl 模块检索发布的值,并使用 JSON 模块(如前所述)将 JSON 对象转换为 perl 哈希。

    【讨论】:

    • 谢谢,我对 AJAX 和 JQuery 还是很陌生。这是我创建的 AJAX 调用。 $(':submit').on('click',function(e){ if(!validate_fields_on_submit()) { e.preventDefault(); return; } $.ajax({ dataType : 'text', // 的datatype you are returned url: '/perl/xxxx/store.cgi', data:Cart, success:function (msg){ // data是ajax调用返回的数据 handle.innerHTML = msg; } }); 是这对吗?
    • 在这样的评论中很难检查语法,但部分似乎都在那里。
    【解决方案2】:

    我怀疑 ajax 是要走的路。要在 Perl 中读取您的 Cart json 对象,请使用 JSON 模块,特别是 decode_json。它会将您的数据转换为对 perl 友好的哈希,然后您可以根据需要引用它。

    【讨论】:

      猜你喜欢
      • 2016-08-03
      • 2014-06-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-24
      • 2013-06-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多