Ajax传递数组

Ajax传递数组与后端接收

在此记录刚开始做开发的时候,Ajax都不怎么会用,都只是传一些简单的字符串,那Ajax怎么将数组传到服务器,先看一下Ajax的结构

//建立两种类型的数组,这两种类型的数组都是经常用到的
 var arryA = new Array();
 var arryB = new Array();
    
    arryA.push({"name": "张三", "sex": "男"});
    arryA.push({"name": "花花", "sex": "女"});
    arryA.push({"name": "黑皇", "sex": "狗"});
    console.log(arryA);
    arryB.push("aaa","bbb","ccc");
    console.log(arryB);

$.ajax({
        url: "",	//上传URL
        type: "POST", //请求方式
        data: {
        "test": "aaa", 
        "test2": "bbb",
         "arryA": JSON.stringify(arryA),//将数组转化成json字符串
          "arryB": JSON.stringify(arryB)},	//需要上传的数据
        dataType: "JSON", //设置接受到的响应数据的格式
        success: function (data) {	//请求成功
            console.log(data);
        },
        error: function () {
            alert("出错啦...");
        },//表示如果请求响应出现错误,会执行的回调函数
    });

前端打印效果:注意看一下这两种数组的格式
在这里插入图片描述
后端接收代码

     String test = request.getParameter("test");//正常获取数据点的代码
        String arryA = request.getParameter("arryA");//注意此时获取的是json字符串
        String arryB = request.getParameter("arryB");//而不是获取的数组,所以是不能直接使用的
        System.out.println("test=" +test);
        System.out.println("arryA=" +arryA);
        System.out.println("arryB=" +arryB);
        //将json字符串转成jsonarry
        JSONArray jsonarryA = JSON.parseArray(arryA);
        JSONArray jsonarryB = JSON.parseArray(arryB);
        /*
        * arryA和arryB是两种数组,
        * arryA类似于 List<Map<String, Object>>数组,可传输的数据更加复杂
        * arryB类似于List<>数组,传输的数据相对较简单
        * 日常用的比较多的是 List<Map<String, Object>>
        *  以下为两种数组转化为对象,就可以获取你想要的数据了*/
        /*A数组需要先jsonarryA.get(0)根据索引获取map数组的字符串,再将map转为json对象
        * 然后就可以根据Key获取Value值*/
        JSONObject myobjA = JSONObject.parseObject(jsonarryA.get(0).toString());
        System.out.println(myobjA.getString("name"));
         System.out.println(myobjA.getString("sex"));
        /*B数组直接就可以用一个循环取数据*/
        System.out.println(jsonarryB.get(0));

看一下打印效果:至此前端到后端的数组的传输和接收就ok了
在这里插入图片描述

创作不易,如果这篇文章能够帮助到你,希望能关注或收藏一下博主,如果文章内容有问题也可留言讨论,我们一起学习,一起进步!!

  • 11
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值