easyui列表查询报错:Cannot read property 'length' of undefined

1.问题描述

    easyui中datagrid执行loadData方法出现如下异常:Cannot read property 'length' of undefined

2.一开始怀疑是js或者页面的问题,然后从早上干到下午,网上各种方法用尽了就是不行!

    最后发现规律了:

    使用mybatis从数据库查询返回的List不报错,但是自己new的ArrayList总是报错!

    后来发现原来mybatis返回的不是ArrayList!而是PageList!

3.解决问题

    PageList中有个参数Paginator包含了page(当前页), limit(每页显示条数), totalCount(总记录数),但是ArrayList就没有这个参数了。

    PageList是ArrayList的子类!

    知道了原因,就好办了!把你new的ArrayList改成PageList!代码如下:

    原代码:  

  List<MsgInfo> list=new ArrayList<MsgInfo>();
    修改后代码:

  Paginator paePaginator=new Paginator(page, pageSize, totalCount);
	    List<MsgInfo> list=new PageList<MsgInfo>(paePaginator);
    然后return list;

    大功告成!

4.答题解惑

   可能你用浏览器查看返回的json数据时看不到page(当前页), limit(每页显示条数), totalCount(总记录数)这些信息,但是easyUI能解析到!

   原因可能是因为浏览器任务这些信息类似于请求的头信息一样直接过滤了所以你看不到,但是会返回给easyUI!

   手打半天,以惠后人!

  • 10
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值