AJAX请求和接收数组

Ajax有时候需要发送一个数组,或者接收一个数组。
比如需要提交一个交易清单的时候,自然必须用一个数组,表示每个商品有多少个

Ajax传给后台多个数组

//ajax异步请求
function saveOrder(){
    var name=new Array();
    var num=new Array();
    var id=new Array();
    count=0;
    for (var i = 0; i < 22; i++) {
        if($("#goodsNum"+i).val()>0){
            name[count] = $("#dropdownMenu"+i).text();
            num[count] = $("#goodsNum"+i).val();
            id[count] = i;
            count++;
        }
    }
    if(count<=0){
        alert("未录入任何数据");
        return;
    }
    var r=confirm("确定录入销售数据?");
    if (!r) return;
    $.ajax({
        type:"POST",  //默认值: "GET")。请求方式 ("POST" 或 "GET"), 默认为 "GET"
        url:"order_submit.php",  //当前页地址。发送请求的地址
        data:{
            goodsName:name,
            goodsNum:num,
            ids:id},
            success:function(data){
                if(data==0){
                    alert("订单录入成功!");
                    window.location.reload();
                }
            },
            async:true,   //true为异步请求,false为同步请求
            error:function(){
                alert("请求失败");
            }
    });
}

而相应地,后台应该怎么接收呢?
这里使用PHP语言来进行讲解
Ajax传入数组 PHP处理 处理Date类型数据插入

<?php session_start(); ?>
<?php
    require "sql.php";

    // 计算当前的ID_ORDER 订单号
    $sql9 = "select * from order_num";
    $result9 = mysql_query ( $sql9 );
    $row9 = mysql_fetch_array ( $result9 );

    $id_order = $row9 ["num"];
    $new_num = $id_order + 1;
    $sql10 = "update order_num SET num='" . $new_num . "' where id='1'";
    $result10 = mysql_query ( $sql10 );

    // 从传入数组解析订单对应的商品和数量
    $name = $_POST ['goodsName'];
    $num = $_POST ["goodsNum"];
    $id = $_POST ["ids"];
    // 录入订单商品内容
    for($i = 0; $i < count ( $name ); $i ++) { // 对应的使用方法
        $sql = "insert into orders (id_order,type,id_goods,goods_num,goods_name,id_shop) VALUES ('" . $row9 ["num"] . "','2','" . $id [$i] . "','" . $num [$i] . "','" . $name [$i] . "','" . $_SESSION ["userId"] . "')";
        $result = mysql_query ( $sql );
    }

    // 检测用户的类型
    $sql1 = "select * from user where account='" . $_SESSION ["userId"] . "'";
    $result1 = mysql_query ( $sql1 );
    $row1 = mysql_fetch_array ( $result1 );

    // 录入订单 日期的处理很简单 就一个date('Y-m-d') 搞定
    date_default_timezone_set ( PRC ); // 设置时区
    $sql8 = "INSERT INTO sell(sell_time,id_shop,shop_type,id_order,order_type) VALUES ('" . date ( 'Y-m-d' ) . "', '" . $_SESSION ["userId"] . "','" . $row1 ["type"] . "','" . $row9 ["num"] . "', '2')";
    $result8 = mysql_query ( $sql8 );

    echo 0;
?>

使用的还是php旧语法,见笑了/捂脸逃…

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值