$.get() success 的参数到底是个什么玩意

2019-05-29 23:32:28 +08:00
 hastyfish
$.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 的属性吗

1573 次点击
所在节点    问与答
6 条回复
randyo
2019-05-29 23:39:41 +08:00
前段把拿到的数据打印一下,后端把返回的数据打印一下,看看是不是一样的。应该是后端封装的数据就是这样的。
hastyfish
2019-05-29 23:42:32 +08:00
@randyo
不一样,用 jackson 把 List 转成 JSON 格式
wangsongyan
2019-05-29 23:43:24 +08:00
你的方法返回的就是 List<List<Items>>啊
hastyfish
2019-05-29 23:48:51 +08:00
@wangsongyan
这个 List<List<Items>>可以看成 Map, 实际效果也是一样的,根据后台的结果应该可以用 resp[i].对象名直接获得,我这个是一对多查询用 List<List<Items>>处理了下
randyo
2019-05-30 00:26:17 +08:00
list 就是数组啊,你数组里面套数组不就是这样子?
jifengg
2019-05-30 09:36:38 +08:00
后端的问题,不是前端的问题

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/568934

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX