博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
关于datatable的数据绑定问题
阅读量:4588 次
发布时间:2019-06-09

本文共 3091 字,大约阅读时间需要 10 分钟。

  最近做项目掉在数据绑定这个小坑里了,最后发现问题其实很简单,只是官方的文档描述可能不太清除导致的吧。首先贴上官网地址:http://www.datatables.club/

  关于这个插件的简单使用就不说了,按照官网来就可以了。在这里重点说一下数据绑定的问题:数据绑定的方式有四种,这里说一下ajax绑定数据的方式。因为我的数据绑定的时候报了这个错:

  当时真的感觉很神奇啊,怎么会length不存在呢?于是我就去看了看底层的代码。

重点就是这个了,这个对象不存在他的length属性自然也就不存在了。这个对象怎么会不存在呢?

 

 框起来的部分就是我根据后台提供接口返回的数据,他要求的json数据格式和我接收到的数据格式不一样,这就是问题的原因了,最后我看了一下我绑定数据的这个代码:

1 $('#exampleTwo').DataTable({ 2                 searching: false, //去掉搜索框方法一:百度上的方法,但是我用这没管用 3                 bFilter: false, //去掉搜索框方法三:这种方法可以 4                 bLengthChange: false, //去掉每页显示多少条数据方法 5                 "paging": false, // 禁止分页 6                 "ordering": false, // 禁止排序 7                 "info": false, //底部文字 8                 "ajax": ip + 'ZRTX/GetLeftTreeAndPeople?xzdm=611000', //数据源 9                 "columns": [{10                         data: 'Name'11                     },12                     {13                         data: 'XZPeople'14                     },15                     {16                         data: 'XZPeopleBH'17                     },18                     {19                         data: 'XZDepertment'20                     },21                     {22                         data: 'JSPeople'23                     },24                     {25                         data: 'JSPeopleBH'26                     },27                     {28                         data: 'JSDepertment'29                     }30                 ]31             });

又对了对官方的文档才发现了问题:

 

 

 官方的文档有很清楚的说明,不同的json数据格式,绑定数据的写法也是不同的,如果是直接返回的一个数组里面包含多个json对象,那么我那种写法是不对的,正确的写法是这样的:

1 $('#exampleTwo').DataTable({ 2                 searching: false, //去掉搜索框方法一:百度上的方法,但是我用这没管用 3                 bFilter: false, //去掉搜索框方法三:这种方法可以 4                 bLengthChange: false, //去掉每页显示多少条数据方法 5                 "paging": false, // 禁止分页 6                 "ordering": false, // 禁止排序 7                 "info": false, //底部文字 8                 //"ajax": ip + 'ZRTX/GetLeftTreeAndPeople?xzdm=611000', //数据源 9                 ajax: {10                     url: ip + 'ZRTX/GetLeftTreeAndPeople?xzdm=611000',11                     dataSrc: ''12                 },13                 "columns": [{14                         data: 'Name'15                     },16                     {17                         data: 'XZPeople'18                     },19                     {20                         data: 'XZPeopleBH'21                     },22                     {23                         data: 'XZDepertment'24                     },25                     {26                         data: 'JSPeople'27                     },28                     {29                         data: 'JSPeopleBH'30                     },31                     {32                         data: 'JSDepertment'33                     }34                 ]35             });

  ajax属性多了一个

  dataSrc: ''   这样就对了,之前的那种写法是默认数据外层有data包裹的所以才会报错。     还有一点要注意的就是字段名的问题,返回的json数据的字段名可以和显示的表格列名不一致,但是一定要写返回的json数据的字段名,否则会报错的。  这个掉坑里我发现在写代码的时候引用插件的js最好不要引用压缩版,因为压缩版相当于是加密了的很不方便查找错误,直接引用未压缩的可以很方便的看到底层的代码已经修改错误。

转载于:https://www.cnblogs.com/fanlijin/p/9436215.html

你可能感兴趣的文章
<pythonchallenge.com>----Lv1
查看>>
Android App测试要点
查看>>
【新手入门篇】新浪微博应用开发之Java入门篇
查看>>
2-10
查看>>
CentOS 7 安装 Docker
查看>>
三、MapReduce学习
查看>>
MySQL的表分区详解 - 查看分区数据量,查看全库数据量----转http://blog.csdn.net/xj626852095/article/details/51245844...
查看>>
课程作业02将所有动手动脑的问题以及课后实验问题
查看>>
oracle_(第二课)监听器配置
查看>>
使用xdebug调试程序后程序很慢的原因
查看>>
windows下配置Tomcat7.0.22
查看>>
Perl中命令行参数以及打开管道文件
查看>>
习题 11 提问
查看>>
2018-07-05-Python全栈开发day25-python中的继承
查看>>
MySQL 数据类型(转贴)
查看>>
Maven 常用命令
查看>>
Java注解知识点摘抄
查看>>
决战Leetcode: easy part(1-50)
查看>>
数组中出现次数超过一半的数字
查看>>
图像边缘检测
查看>>