datatables数据绑定问题

人在歹途
  • 32

data中的数据,如果在上面写死为dataa就能够显示出来,但是如果后台请求的值为datab,让datab赋值给dataa就绑定不上去了,说表中数据为空:

var dataa = [             
    ["1", "广通公司", "80", "56", "68", "35", "", "32", "25", "12.8", "65.5", ""],
    ["2", "嘉联公司", "75", "73", "75", "35", "68", "51", "35", "51.2", "45.7", "84"], 
    ["3", "凤凰化工", "82", "82", "94", "35", "75", "21", "25.4", "38.1","21", "56"], 
    ["4", "唐口化工", "90", "69", "61", "35", "", "55", "17.8", "29", "17",""]
];

var table=$('#data_table').DataTable( {
    "bAutoWidth":true, 
    bFilter: false,    //去掉搜索框
    bLengthChange: false,   //去掉每页显示多少条数据方法
    ordering:false,//禁止排序
    "paging": false,//关闭分页
    "info": false,   //去掉底部文字
    language: {  //将英文转换为中文
        "sProcessing": "处理中...",  
        "sLengthMenu": "显示 _MENU_ 项结果",  
        "sZeroRecords": "没有匹配结果",  
        "sInfo": "显示第 _START_ 至 _END_ 项结果,共 _TOTAL_ 项",  
        "sInfoEmpty": "显示第 0 至 0 项结果,共 0 项",  
        "sInfoFiltered": "(由 _MAX_ 项结果过滤)",  
        "sInfoPostFix": "",  
        "sSearch": "搜索:",  
        "sUrl": "",  
        "sEmptyTable": "表中数据为空",  
        "sLoadingRecords": "载入中...",  
        "sInfoThousands": ",",  
        "oPaginate": {  
            "sFirst": "首页",  
            "sPrevious": "上页",  
            "sNext": "下页",  
            "sLast": "末页"  
        },  
        "oAria": {  
            "sSortAscending": ": 以升序排列此列",  
            "sSortDescending": ": 以降序排列此列"  
        }  
    },
    data: dataa
});
请求的代码
var arr1=[];
function comTable(){
    var j = 1;
    var q = 1; 
    var glUrl='http://XXXXXXXXXX9001/screenController.htm?param_act=getLastMothReport';
    $.getJSON(glUrl+"&callback=?", function(data){
        //console.log(data);
        console.log('1q');
        arr1 = Object.keys(data.reportdata).map((k, i) => {
            return [i, k, ...data.reportdata[k]];
        });
    });
};
comTable();
dataa=arr1;
回复
阅读 1.5k
1 个回答

请求的代码那里有一些问题,Ajax是异步的,所以在最后一句dataa=arr1;赋值执行时,可能请求的数据并没有返回。

宣传栏