为第 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”的主要内容,如果未能解决你的问题,请参考以下文章
带有 ajax 的 DataTables 1.10.6,为第 0 行请求未知参数 0
从数据源中为 DataTables 中的第 1 行请求未知参数“0”
DataTables 警告(表 id = 'table-filter'):从数据源请求未知参数 '0' 用于数据表中的第 0 行错误