web前端开发个人技术博客
当前位置: JavaScript > 如何解决DataTable字段值为空的时候报错

如何解决DataTable字段值为空的时候报错

2019-04-04 分类:JavaScript 作者:码云 阅读(3996)

如何解决DataTable字段值为空的时候报错

最近在做后台系统项目时用到的DataTable表格插件,功能很强大,但是由于我是第一次用到它,对它的API不是很熟悉,所以有些程序问题也出现的很明显,就如标题所说的当DataTable字段值为空的时候会报错提醒,相信用到过的小伙伴都遇到过类似问题,那么如何解决呢?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
var oTable = $("#luaTable").DataTable({
                "ordering" : false,
                "processing": false,
                "serverSide": true,
                "autoWidth" : false,
                "filter" : false,// 本地搜索
                "lengthChange" : false,// 调整每页显示条数
                "lengthMenu": [5],
                "columnDefs" : [{"defaultContent":"","targets":"_all"}],//默认值
                "columns" : [// 对应上面thead里面的序列//对接收到的json格式数据进行处理,data为json中对应的key
                    {"data" : "prefix"},
                    {"data" : "name"},
                    {"data" : "luaName"},
                    {"data" : "createDate"},
                    {"data" : "updateDate"},
                    {
                        "sClass" : "text-center",
                        "render" : function(data, type, row) {
                            return "<a class='showLua' title='查看' style='text-decoration: none;margin-right: 10px;' data-prefix="+ row.prefix +" data-luaName="+ row.luaName +"><i class='Hui-iconfont'>&#xe725;</i></a>"
                            +"<a class='download' title='下载' style='text-decoration: none;' data-prefix="+ row.prefix +" data-luaName="+ row.luaName +"><i class='Hui-iconfont'>&#xe640;</i></a>";
                        },
                    }
                ],
                "ajax" : function (data, callback, settings){
                    var index = layer.load(0, {shade: [0.3,'#000']});
                    $("#luaTable").dataTable().api().clear();
                    var arg = getQueryCondition(data);
                    $.ajax({
                        url : contextPath + "/fileManage/findScript",
                        method : 'POST',
                        contentType:"text/json",
                        dataType : 'JSON',
                        data : JSON.stringify(arg)
                    }).done(function(result){
                        if(result.status != '1'){
                            layer.msg(result.msg,{time: 1500});
                            callback({
                                draw : data.draw,
                                recordsTotal : 0,
                                recordsFiltered : 0,
                                data : []
                            });
                            return;
                        }
                        callback(result.body);
                    }).fail(function(msg){
                        layer.msg('查询失败!',{time: 1500});
                        callback({
                            draw : data.draw,
                            recordsTotal : 0,
                            recordsFiltered : 0,
                            data : []
                        });
                    }).always(function(msg){
                        //延时绑定
                        EventBind.bind();
                        layer.close(index);
                    });
                }
            });

上面代码中有一个这样的配置:

1
"columnDefs" : [{"defaultContent":"","targets":"_all"}],//默认值

这句的配置意思就是设置默认值为空的时候,不报错,是不是很简单呢,这也是我在使用DataTable过程中踩过的坑吧,这里在码云笔记中记录一下。而方法总比问题多,我也相信爱折腾的人都会有好运的,所以骚年多多折腾一下你会提升很多哦!

「如果觉得我的文章对您有用,请帮助本站成长」

赞(21) 打赏

觉得文章有用就打赏一下文章作者

支付宝
微信
21

觉得文章有用就打赏一下文章作者

支付宝
微信

上一篇:

下一篇:

你可能感兴趣

共有 1 条评论 - 如何解决DataTable字段值为空的时候报错

  1. 马云 Linux Chrome 62.0.3202.84

    实际贴

博客简介

码云笔记: mybj123.com,一个关注Web前端开发技术的博客,主要记录和总结前端工作中常用的知识及我的生活。
更多博客详情请看关于博客

圈子

关注微信公众号
关注微信公众号

精彩评论

服务热线:
 13888888888

 QQ在线交流