You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

DataTable添加行报错‘Requested unknown parameter’求助

DataTables添加新行报错及空行问题解决

问题描述

添加新行时触发错误提示:

DataTables warning: table id=table-workshops - Requested unknown parameter 'name' for row 39, column 0.

表格加载已有数据显示正常,但新增行显示为空。

相关代码

HTML代码

<table class="table table-bordered table-striped table-hover js-basic-example" id="table-workshops">
    <thead>
        <tr>                    
            <th>Workshop</th>
            <th>Number</th>
            <th>Category</th>
        </tr>
    </thead>
    <tbody></tbody>
</table>

jQuery代码

var workshops = JSON.parse(workshops_get());
var table = $('#table-workshops');

table.DataTable({
    destroy: true,
    data: workshops,
    pageLength: 5,
    columns: [
        {data: 'name'},
        {data: "number"},
        {data: "category"},
    ],
    order: [[0, 'asc']]
});

$(document).on('click', '.workshop-add', function(){
    table.DataTable().row.add(['test', 'test', 'test']).draw();
});

问题原因

你的DataTables配置采用对象数据源模式(通过columns.data指定了对象属性名name/number/category),但添加新行时传入的是数组格式数据,两者数据结构不匹配。DataTables会尝试从数组中读取name属性,自然找不到对应值,因此报错并显示空行。

解决方案

添加新行时传入与原有数据结构一致的对象格式数据,而非数组:

$(document).on('click', '.workshop-add', function(){
    table.DataTable().row.add({
        name: 'test',
        number: 'test',
        category: 'test'
    }).draw();
});

若确实需要使用数组格式添加行,需修改DataTables初始化配置,将columns.data改为数组索引(如{data: 0}),但同时原有数据源也需改为数组格式,这种方式不如保持数据结构一致更稳妥。

内容的提问来源于stack exchange,提问作者Beko

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 18:54:23