$.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
wangsongyan 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
后端的问题,不是前端的问题
|