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: "", //上传URLtype: "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字符串转成jsonarryJSONArray 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了

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















