【问题标题】:load custom response in datatable using server side processing使用服务器端处理在数据表中加载自定义响应
【发布时间】:2017-08-22 17:48:52
【问题描述】:

我正在尝试从 ajax 响应加载数据表,然后执行服务器端处理。使用this example

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

{"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}

这是我处理 ajax 和数据表的 javascript 代码。

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 个错误

DataTables 警告:table id=table - 请求的未知参数 'aNumber' 表示第 0 行第 0 列。有关此错误的更多信息, 请看http://datatables.net/tn/4

无效的 JSON 响应。

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

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

【问题讨论】:

    标签: javascript jquery ajax datatable datatables


    【解决方案1】:

    使用 datatable 1.10,(我认为您可能使用的是早期版本),您可以使用 columns.data 属性填充和格式化单元格中的数据:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-23
      • 2012-11-18
      • 2023-03-17
      • 2018-01-31
      • 2014-10-06
      相关资源
      最近更新 更多