easyui中datagrid显示数据的时候报Cannot read property 'length' of undefined

软件开发 专栏收录该内容
24 篇文章 0 订阅

最近在搭一个框架,页面开发完后,发现没有数据显示,经查询是因为js报错了,错误信息如下:

Cannot read property 'length' of undefined

进一步查看原因,是因为rows.length报的错,说明没有rows这个变量,但是查看后台代码是有数据返回的,后台部门代码如下:

Map<String, Object> map = new HashMap<String, Object>();
map.put("total", userPage.getRecordSum());
map.put("rows", userPage.getRecordList());
		
String result = JSONObject.toJSONString(map);

这是在另外一个框架中复制出来的代码,之前一直用着也没有发现问题。后来在网上查询相关文章后,意识到js中处理的参数必须是JSON对象,而不能是JSON格式的字符串,而我这边恰恰是转换成字符串后返回的,如果没有在js中使用JSON.parse(str)转换的话,就无法读取,后来修改后台代码后解决了问题,代码如下:

Map<String, Object> map = new HashMap<String, Object>();
map.put("total", page.getRecordSum());
map.put("rows", page.getResults());
		
return map;

因为在方法上面加了@ResponseBody,所以map就被转换成JSON对象返回到页面了,这样js中就能正常读取了。

  • 2
    点赞
  • 3
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

相关推荐
©️2020 CSDN 皮肤主题: 酷酷鲨 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值