一. 问题描述
后台:SSM框架
前端:layui框架
描述:一个商城,登录普通用户,进入后台管理,查看当前用户的一些信息和操作。(因为当前登录的是普通用户,所以只能看到自己的信息,不能看到别人的信息)
二. 报错原因
layui的table数据返回接口是data:[{},{},…],所以如果后台的controller方法只返回一个user对象作为data,是会报错table.js?v=1585550979763:2 Uncaught TypeError: Cannot create property ‘LAY_TABLE_INDEX’ on number '2的
三. 解决方案
- 最最最最关键的就是new一个List把user装进去,再赋给data作为返回数据的接口,如下:
@ResponseBody
@RequestMapping(value="/getPage2",method=RequestMethod.GET)
public Map<String, Object> getPage2(HttpServletRequest request){
Map<String, Object> map = new HashMap<String, Object>();
HttpSession session = request.getSession();
User user = (User) session.getAttribute("user");
List<User> list = new ArrayList<User>();
list.add(user);//关键
map.put("code", 0);
map.put("msg", "操作成功");
map.put("count", list.size());
map.put("data", list);
return map;
}
解释: List<User> list = new ArrayList<User>(); list.add(user);//关键
这里很关键