【问题标题】:Display warning if records null Datatables AJAX - dataSrc如果记录为空数据表 AJAX - dataSrc,则显示警告
【发布时间】:2021-06-28 12:04:26
【问题描述】:

let dataSeta = {"error": true,"message": "Data Pengiriman tidak ditemukan","data": null};

let pengiriman = $('#pengiriman-data').DataTable({
        responsive: true,
        data: dataSeta,
        columnDefs: [{
            searchable: false,
            orderable: false,
            targets: 0
        }],
        columns: [{
            data: "id_mon",
            defaultContent: ''
        }, {
            data: "kodejalan",
            defaultContent: ''
        }, {
            data: "nopol",
            defaultContent: ''
        }, {
            data: "supir",
            defaultContent: ''
        }, {
            data: "pelanggan",
            defaultContent: ''
        }, {
            data: "start",
            defaultContent: ''
        }, {
            data: "end",
            defaultContent: ''
        }, {
            data: "status",
            defaultContent: ''
        }, {
            data: "tanggal",
            defaultContent: ''
        }, {
            data: "action",
            defaultContent: ''
        }],
        "lengthChange": true,
        "lengthMenu": [[5, 10, 25, 50, 100], [5, 10, 25, 50, 100]],
        "paging":   true,
        "ordering": true,
        "info": true
      });
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script type="text/javascript" src="https://cdn.datatables.net/1.10.24/js/jquery.dataTables.min.js"></script>
<script type="text/javascript" src="https://cdn.datatables.net/1.10.24/js/dataTables.bootstrap4.min.js"></script>
<table loading="lazy" id="pengiriman-data" class="table table-bordered table-striped">
<thead>
  <tr>
    <th>ID</th>
    <th>Surat Jalan</th>
    <th>Mobil</th>
    <th>Supir</th>
    <th>Pelanggan</th>
    <th>Start</th>
    <th>End</th>
    <th>Status</th>
    <th>Tanggal</th>
    <th width="160">Aksi</th>
  </tr>
</thead>
</table>

我有代码,如果记录空显示警告的问题“DataTables 警告:table id=pengiriman-data - true” datatables

让 pengiriman = $('#pengiriman-data').DataTable({ 响应式:真实, 阿贾克斯:{ “网址”:读取网址, “dataSrc”:“数据” }, 列定义:[{ 可搜索:假, 可订购:假, 目标:0 }], 列: [{ 数据:“id_mon”, 默认内容:'' }, { 数据:“kodejalan”, 默认内容:'' }, { 数据:“nopol”, 默认内容:'' }, { 数据:“supir”, 默认内容:'' }, { 数据:“pelanggan”, 默认内容:'' }, { 数据:“开始”, 默认内容:'' }, { 数据:“结束”, 默认内容:'' }, { 数据:“状态”, 默认内容:'' }, { 数据:“唐加拉”, 默认内容:'' }, { 数据:“动作”, 默认内容:'' }], “长度变化”:真, "lengthMenu": [[5, 10, 25, 50, 100], [5, 10, 25, 50, 100]], “分页”:是的, “排序”:是的, “信息”:真实 });

JSON 记录数据:

{
    "error": false,
    "message": "Data Pengiriman",
    "data": [
        {
            "id_mon": "6",
            "kodejalan": "SJ00004\/03\/21",
            "nopol": "",
            "supir": "Dodong Karim",
            "pelanggan": "PT. Zoruka Sharp",
            "start": "",
            "end": "<button type=\"button\" class=\"btn btn-sm btn-success btn-flat\" onclick=\"return dataMap(6)\">Show<\/button>",
            "status": "<span class=\"badge badge-info\">Created<\/span>",
            "tanggal": "2021-04-01 20:12:14",
            "action": "bbb"
        },
        {
            "id_mon": "7",
            "kodejalan": "SJ00005\/03\/21",
            "nopol": "",
            "supir": "Dadang Kipas",
            "pelanggan": "PT. Zaruko Store",
            "start": "",
            "end": "<button type=\"button\" class=\"btn btn-sm btn-success btn-flat\" onclick=\"return dataMap(7)\">Show<\/button>",
            "status": "<span class=\"badge badge-info\">Created<\/span>",
            "tanggal": "2021-04-01 20:12:14",
            "action": "aaa"
        }
    ]
}

JSON 记录 NULL 数据:

{
    "error": true,
    "message": "Data Pengiriman tidak ditemukan",
    "data": null
}

【问题讨论】:

  • 我无法重现您的问题(我没有收到任何警告)。你能提供一个minimal reproducible example - 例如,在小提琴或类似的?我的代码使用的 JSON 略有不同 - 但结构与您的相同。
  • 非常小的一点:searcable: false 应该是searchable: false
  • @andrewjames 好的,已经改为可搜索
  • @andrewjames 我已经将代码更改为 defaultContent 仍然在我的笔记本电脑中发出警告

标签: javascript datatables


【解决方案1】:

好的,这个案例终于解决了 :) 我将 JSON Result 错误更改为 errData

{
    "errData": true,
    "message": "Data Pengiriman tidak ditemukan",
    "data": null
}

还有 JS 代码:

let pengiriman = $('#pengiriman-data').DataTable({
        responsive: true,
        ajax: {
            "url":readUrl,
            "dataSrc": function(data){
                if(data.data == null){
                    return [];
                } else {
                    return data.data;
                }
            }
        },
        columnDefs: [{
            searchable: false,
            orderable: false,
            targets: 0
        }],
        columns: [{
            defaultContent: '',
            data: 'id_mon'
        }, {
            defaultContent: '',
            data: 'kodejalan'
        }, {
            defaultContent: '',
            data: 'nopol'
        }, {
            defaultContent: '',
            data: 'supir'
        }, {
            defaultContent: '',
            data: 'pelanggan'
        }, {
            defaultContent: '',
            data: 'start'
        }, {
            defaultContent: '',
            data: 'end'
        }, {
            defaultContent: '',
            data: 'status'
        }, {
            defaultContent: '',
            data: 'tanggal'
        }, {
            defaultContent: '',
            data: 'action'
        }],
        "lengthChange": true,
        "lengthMenu": [[5, 10, 25, 50, 100], [5, 10, 25, 50, 100]],
        "paging":   true,
        "ordering": true,
        "info": true
      });

阅读:My Question solved in this forum

【讨论】:

    猜你喜欢
    • 2011-09-28
    • 2017-05-03
    • 1970-01-01
    • 1970-01-01
    • 2012-03-28
    • 2023-04-06
    • 2013-11-14
    • 1970-01-01
    • 2020-08-29
    相关资源
    最近更新 更多