
$.get( "/getItem?opt=getItems&cName="+cName+"&rnd=" + Math.random().toString(), {}, function (resp) { console.log(resp); for (var i in resp) { $("#ilist")[0].options.add(new Option(resp[i][0].itemsName, resp[i][0].itemsName)); } if (resp[i].length > 0) $("#ilist")[0].selectedIndex = 0; display(); }, "json" ) 后台
@RequestMapping("/getItem") @ResponseBody public List<List<Items>> getItem(@RequestParam("cName") String cName){ return categoriesService.getItems(cName); } 用 resp[i].itemsName 取不到值,resp[i][0].itemsName 才有值
看了下控制台输出的 resp
0: Array(1) 0:{正常数据} length: 1 _proto_:Array(0) 底下有一堆 ... 1:Array(1) 0:{正常数据} length: 1 _proto_:Array(0) ... 难道是 java 中 Array 的属性吗
1 randyo 2019-05-29 23:39:41 +08:00 via Android 前段把拿到的数据打印一下,后端把返回的数据打印一下,看看是不是一样的。应该是后端封装的数据就是这样的。 |
3 wa8n 2019-05-29 23:43:24 +08:00 via iPhone 你的方法返回的就是 List<List<Items>>啊 |
4 hastyfish OP @wangsongyan 这个 List<List<Items>>可以看成 Map, 实际效果也是一样的,根据后台的结果应该可以用 resp[i].对象名直接获得,我这个是一对多查询用 List<List<Items>>处理了下 |
5 randyo 2019-05-30 00:26:17 +08:00 via Android list 就是数组啊,你数组里面套数组不就是这样子? |
6 jifengg 2019-05-30 09:36:38 +08:00 via Android 后端的问题,不是前端的问题 |