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

.NET Core中DataTables加载数据失败,报Unload事件监听器弃用错误

.NET Core中DataTables加载数据失败及废弃警告解决

问题现象

  1. 浏览器控制台抛出警告:Unload event listeners are deprecated and will be removed
  2. DataTables无法加载后端返回的产品数据

核心修复步骤

1. 修正AJAX配置的大小写错误

前端代码中AJAX配置的URL是大写,DataTables的标准配置项为小写url,这会导致请求无法正确发起:

function LoadDataTable() {
    dataTable = $("#tblData").DataTable({
        "ajax": {
            "url": "/admin/product/getall", // 改为小写url
            "type":"get"
        }, 
        "columns": [
            { "data": "title", "width": '15%' },
            { "data": "isbn", "width": '15%' },
            { "data": "listPrice", "width": '15%' },
            { "data": "author", "width": '15%' },
            { "data": "category.name", "width": '15%' }
        ]
    });
}

2. 修复表格结构缺失

视图中的table必须包含<thead>和<tbody>标签,DataTables依赖完整的表格结构渲染数据:

<table id="tblData" class="table table-bordered table-striped py-2">
    <thead>
        <tr>
            <th>标题</th>
            <th>ISBN</th>
            <th>标价</th>
            <th>作者</th>
            <th>分类</th>
        </tr>
    </thead>
    <tbody></tbody>
</table>

3. 消除废弃事件监听器警告

该警告源于DataTables旧版本中使用的已废弃API,可通过以下方式解决:

  • 升级DataTables:更新到最新稳定版,官方已移除相关废弃代码;
  • 添加初始化配置:若暂时无法升级,在DataTables初始化时添加以下配置禁用相关监听:
    function LoadDataTable() {
        dataTable = $("#tblData").DataTable({
            "ajax": {
                "url": "/admin/product/getall",
                "type":"get"
            },
            "destroy": true, // 销毁已存在的实例,避免重复初始化
            "stateSave": false, // 禁用状态保存,避免触发unload监听
            "columns": [
                { "data": "title", "width": '15%' },
                { "data": "isbn", "width": '15%' },
                { "data": "listPrice", "width": '15%' },
                { "data": "author", "width": '15%' },
                { "data": "category.name", "width": '15%' }
            ]
        });
    }
    

额外检查项

  • 确认后端接口/admin/product/getall能正常返回JSON数据,可通过浏览器直接访问该URL验证;
  • 检查Product实体类的属性名(title、isbn等)与前端columns配置的data字段完全一致,包括大小写;
  • 查看浏览器控制台的网络请求面板,确认AJAX请求的状态码为200,且返回数据结构符合预期。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 09:51:17