为第 0 行请求的未知参数“0”

Posted

技术标签:

【中文标题】为第 0 行请求的未知参数“0”【英文标题】:Requested unknown parameter '0' for row 0 【发布时间】:2015-12-15 23:01:59 【问题描述】:

我正在尝试将 jQuery DataTables 与使用 AJAX 的服务器端 php 一起使用。

我的 Ajax 调用很简单:

$(document).ready(function() 
    $("#dataTable").DataTable( 
        serverSide: true,
        ajax: "systemlog/loadData",
     );
 );

这是我的 PHP 代码:

        $logList = \Models\SysLog::all($where, $fields, $order, $direction);

        $data = array();

        foreach ($logList as $sysLog)
        
            $data[] = array("logDateTime" => $sysLog->logDateTime,
                            "logType" => $sysLog->logType,
                            "source" => $sysLog->source,
                            "user" => $sysLog->user,
                            "message" => $sysLog->message); 
        

        $retData = array (
                "draw" => $draw,
                "recordsTotal" => count($sysLogList),
                "recordsFiltered" => count($sysLogList),
                "data" => $data
                );

        $result = json_encode($retData);

        echo $result;

我返回的 JSON 是这样的:

"draw":"1","recordsTotal":30,"recordsFiltered":30,"data":["logDateTime":0,"logType":"INFO","source":"sys","user":"sys","message":"Program start.","logDateTime":0,"logType":"INFO","source":"sys","user":"sys","message":"Starting handler.","logDateTime":0,"logType":"INFO","source":"sys","user":"sys","message":"Starting persistance updater."]

全部完成,但我从客户端的 DataTables 收到以下错误:

DataTables 警告:表 id=dataTable - 为第 0 行请求未知参数“0”。

屏幕上不显示任何数据。

【问题讨论】:

DataTables warning: Requested unknown parameter '0' from the data source for row '0'的可能重复 【参考方案1】:

当使用Objects作为你的数据源时,你需要使用columns.data选项来定义哪个属性对应哪个列。

例如:

$("#dataTable").DataTable( 
    serverSide: true,
    ajax: "systemlog/loadData",
    columns: [
        data: "logDateTime" ,
        data: "logType" ,
        data: "source" ,
        data: "user" ,
        data: "message" 
    ]
 );

【讨论】:

以上是关于为第 0 行请求的未知参数“0”的主要内容,如果未能解决你的问题,请参考以下文章

为第 0 行请求未知参数“9” - 数据表错误

带有 ajax 的 DataTables 1.10.6,为第 0 行请求未知参数 0

从数据源中为 DataTables 中的第 1 行请求未知参数“0”

DataTables 警告(表 id = 'table-filter'):从数据源请求未知参数 '0' 用于数据表中的第 0 行错误

jQuery Datatables为行'0'列'0'请求未知参数'0'

DataTables 警告 - 请求第 0 行第 0 列的未知参数“0”