Ajax传递数组 (PHP后台接收)

时间:2024-02-16 17:06:40

JavaScript中会有向后台传递数组的需求,这里记录如下

    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("请求失败");
            }
    });

 

方法也很简单,利用JavaScript new Array(),并以数组下标的形式存储;

后台接收到也是数组的形式

 $name = $_POST [\'goodsName\'];
 $num = $_POST ["goodsNum"];
 $id = $_POST ["ids"];

 //调用方式
 $id[$i]

以此完成数组的传递(无加密)