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

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

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

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 ""
                        	+"";
                        },
                    }
                ],
                "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);
                    });
                }
            });

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

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

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

「点点赞赏,手留余香」

22

给作者打赏,鼓励TA抓紧创作!

微信微信 支付宝支付宝

还没有人赞赏,快来当第一个赞赏的人吧!

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
码云笔记 » 如何解决DataTable字段值为空的时候报错

1 评论

发表回复