datatables表格插件 Uncaught TypeError: Cannot read property 'length' of undefined错误分析

前端小白,第一次接触Datatables表格插件,经常会遇到Uncaught TypeError: Cannot read property ‘length’ of undefined这么个报错在这里插入图片描述
我也遇到了好几次,每次都没记住,几天狠下心来写一篇推文,分享给大家,也顺便当记笔记了。从字面上翻译是length未定义,但是这么理解你怎么也不会解决错误,因为这是人家js里定义的。

错误1:ajax请求出错

"ajax": {
           "url": "url",
           "dataType": "json",
           "type": "POST",
           "data":{
               token: hex_md5(timeStamp + key),
               timeStramp: timeStamp,
               flag: 1
           }
       },
"columns" : [
      { "data": "id" },
      { "data": "city" },
      { "data": "country" },
      { "data": "admin_name" },
      { "data": "telphone" },
      { "data": "create_time" }
  ],

我之前这个flag输入的参数不是后台需要的参数,所以ajax无法正常获取正确数据,就会报这个错。
如何知道ajax有没有获取到数据,可以打开浏览器的控制台,查看network
在这里插入图片描述
从获取到的数据可以看到数据在adminInfo中,但是插件需要的是data参数,所以就是报这个错。
但是如果我获取到的数据为空是不会报着个错误的他只会跳出一个提示,并说数据为空。
在这里插入图片描述

错误2:请求方式错误。

把请求方式写反了也会报这个错

"ajax": {
    "url": url,
	"dataType": "json",
     "type": "post",
     "data":{
         token: hex_md5(timeStamp + key),
         timeStramp: timeStamp
     }
 },

错误3:数据使用错误

返回数据明显是有的,就像错误1里的network显示的一样,但是你直接把一整个返回数据全塞过去,很明显你要显示的应该是admininfo这个json数据,只需要对应修改为res.adminInfo传给datatable就行了。

也可以加入DataTables中文网交流群3:20779435来提问
第一次发文章,有不足或者错误的可以指出来,我一定虚心改正,谢谢大家!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值