使用服务器端处理将自定义响应加载到数据表中 [英] load custom response in datatable using server side processing

查看:84
本文介绍了使用服务器端处理将自定义响应加载到数据表中的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试从ajax响应中加载数据表,然后执行服务器端处理.使用此示例

I am trying to load datatable from ajax response and then perform server-side processing. using this example

这是我从服务器收到的响应:

this is the response I am receiving from server :

{"msg":null,"code":null,"status":null,"result":[{"aNumber":"3224193861","bNumber":"3215910681","dateTime":"2017-06-05 09:44:22.0","duration":778,"imei":"47350901163665"},{"aNumber":"3224193861","bNumber":"3028540439","dateTime":"2017-04-26 18:53:23.0","duration":266,"imei":"31489802062929"}],"draw":1,"limit":1000,"recordsFiltered":13419,"recordsTotal":13419}

这是我的JavaScript代码,用于处理Ajax和数据表.

this my javascript code to handle ajax and datatable.

function showDataTable(anumber, startdate, enddate) {
    var cdrReqParams = {};
    cdrReqParams.draw = '1';
    cdrReqParams.offset = 0;
    cdrReqParams.newRequest = '1';
    cdrReqParams.totalRecords = '1';
    cdrReqParams.lookInCol = 'aNumber';
    cdrReqParams.lookInVal = anumber;
    cdrReqParams.fromDate = startdate;
    cdrReqParams.toDate = enddate;

    var jsonStr = JSON.stringify(cdrReqParams);
    console.log(jsonStr);

    API.call("http://localhost:8050/phpservice/json.php", 'POST', function(data) {
        basicData = data.result;
        console.log(basicData);
        oTable = $("#table").dataTable({
            bJQueryUI: true,
            bPaginate: true,
            sPaginationType: "full_numbers",
            bFilter: false,
            bInfo: false,
            bProcessing: true,
            bServerSide: true,
            aaData: [basicData],
            aoColumns: [{
                "sTitle": "ANUMBER",
                "mData": "aNumber"
            }, {
                "sTitle": "BNUMBER",
                "mData": "bNumber"
            }, {
                "sTitle": "DATETIME",
                "mData": "dateTime"
            }, {
                "sTitle": "DURATION",
                "mData": "duration"
            }, {
                "sTitle": "IMEI",
                "mData": "imei"
            }]
        });
    }, function(error) {
        console.log(error);
    }, jsonStr);
}

这样做,我收到2个错误

By doing this, I am receiving 2 errors

DataTables警告:表格ID =表格-请求的未知参数 第0行第0列的"aNumber".有关此错误的更多信息, 请参阅 http://datatables.net/tn/4

DataTables warning: table id=table - Requested unknown parameter 'aNumber' for row 0, column 0. For more information about this error, please see http://datatables.net/tn/4

无效的JSON响应.

Invalid JSON Response.

对于这种类型的问题,是否有任何解决方法,首先,您将执行ajax调用,并从接收到的数据中,使用服务器端处理来填充数据表??

Is there any workaround for this type of problem, In which first, you will perform ajax call and from received data, you will populate datatable with server side processing ??

我希望至少有人能给我一个提示.

I hope someone will give me a hint at least.

推荐答案

使用数据表1.10,(我认为您可能使用的是较早版本),可以使用column.data填充单元格中的数据并设置其格式.属性:

With datatable 1.10,(i think you may be using an earlier version), you can populate and format the data in the cells, by using the columns.data property:

  columns: [             
             { data: "", defaultContent: " " },               

             { data: null, 
               defaultContent: " ", 
               render: function (data, type, row, meta) { 
                                return data.ID; 
               } 
             }
           ]

这篇关于使用服务器端处理将自定义响应加载到数据表中的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆