【发布时间】:2015-07-27 04:58:39
【问题描述】:
我正在尝试从 JSON 对象填充数据表,但收到以下错误:
DataTables 警告:表 id=filteredAlertsTable - 请求第 0 行的未知参数“messageId”。有关此错误的详细信息,请参阅http://datatables.net/tn/4
这是我的代码:
var dataSet = '${data}';
$('#filteredAlertsTable').dataTable( {
"bProcessing": true,
"aaData": dataSet,
"aoColumns": [
{ "mData": "messageId" },
{ "mData": "host" },
{ "mData": "creationTime" },
{ "mData": "resolvedTime" },
{ "mData": "severity" },
{ "mData": "alertText" }
]
} );
我从 javascript 变量中获取 dataSet,我尝试传递以下内容,
[{
"severity": "Severity",
"creationTime": "CreationTime",
"resolvedTime": "ResolvedTime",
"appName": "AppName",
"host": "Host",
"messageId": "MessageId",
"alertText": "AlertText"
},
{
"severity": "Severity1",
"creationTime": "CreationTime1",
"resolvedTime": "ResolvedTime1",
"appName": "AppName1",
"host": "Host1",
"messageId": "MessageId1",
"alertText": "AlertText1"
}]
和
{
"mData": [{
"severity": "Severity",
"creationTime": "CreationTime",
"resolvedTime": "ResolvedTime",
"appName": "AppName",
"host": "Host",
"messageId": "MessageId",
"alertText": "AlertText"
},
{
"severity": "Severity1",
"creationTime": "CreationTime1",
"resolvedTime": "ResolvedTime1",
"appName": "AppName1",
"host": "Host1",
"messageId": "MessageId1",
"alertText": "AlertText1"
}]
}
我已经想过this 的问题,但我仍然无法弄清楚有什么问题
这是我的 HTML 代码。
<table id="filteredAlertsTable"
class="table table-striped table-bordered ">
<thead>
<tr>
<th>Message Id</th>
<th>Host</th>
<th>Creation Time</th>
<th>Resolved Time</th>
<th>Severity</th>
<th>Alert Text</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
【问题讨论】:
-
我建议将相同的
format传递回 json,这与您在dataTables中的初始化相匹配。例如:如果messageId是初始化期间的第一个mData,则将其作为数组的第一个元素附加到json对象中,该对象被传回!! -
根据我对 DataTables 和此类错误的经验,您应该仔细检查您的 HTML,并确保您的行数与表头数一样多。这可能是问题所在,在我看到 HTML 之前无法确定
标签: javascript jquery json datatable jquery-datatables