Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/417.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/drupal/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript DataTables:未捕获类型错误:无法读取未定义的属性“unique”_Javascript_Jquery_Datatables - Fatal编程技术网

Javascript DataTables:未捕获类型错误:无法读取未定义的属性“unique”

Javascript DataTables:未捕获类型错误:无法读取未定义的属性“unique”,javascript,jquery,datatables,Javascript,Jquery,Datatables,我的jquery datatables代码有问题。这个新的错误不知从哪里冒出来 我怀疑这可能是因为我正在加载的所有库文件,datatable初始化失败,因为datatable文件没有及时加载,因为这个错误似乎在我添加额外库之后立即出现,而且大多数类似问题的论坛似乎都建议这样做 但是我的错误还没有解决。加载datatable库的顺序应该很好,因为它们以前工作得很好 这是我加载脚本文件的方式: <script src="../assets/js/vendor.min.js"></s

我的jquery datatables代码有问题。这个新的错误不知从哪里冒出来

我怀疑这可能是因为我正在加载的所有库文件,datatable初始化失败,因为datatable文件没有及时加载,因为这个错误似乎在我添加额外库之后立即出现,而且大多数类似问题的论坛似乎都建议这样做

但是我的错误还没有解决。加载datatable库的顺序应该很好,因为它们以前工作得很好

这是我加载脚本文件的方式:

<script src="../assets/js/vendor.min.js"></script>
<script src="../assets/js/app.min.js"></script>

<!-- Libs-->
<script src="../assets/libs/flatpickr/flatpickr.min.js"></script>
<script src="../assets/libs/autocomplete/jquery.autocomplete.min.js"></script>
<script src="../assets/js/vendor/jquery-ui.min.js"></script>
<script src="../assets/libs/jquery-toast/jquery.toast.min.js"></script>
<script src="../assets/libs/dropzone/dropzone.min.js"></script>
<script src="../assets/libs/dropify/dropify.min.js"></script>

<!-- third party js -->
<script src="../assets/js/vendor/jquery.dataTables.min.js"></script>
<script src="../assets/js/vendor/dataTables.bootstrap4.js"></script>
<script src="../assets/js/vendor/dataTables.responsive.min.js"></script>
<script src="../assets/js/vendor/responsive.bootstrap4.min.js"></script>
<script src="../assets/js/vendor/dataTables.buttons.min.js"></script>
<script src="../assets/js/vendor/buttons.bootstrap4.min.js"></script>
<script src="../assets/js/vendor/buttons.html5.min.js"></script>
<script src="../assets/js/vendor/buttons.flash.min.js"></script>
<script src="../assets/js/vendor/buttons.print.min.js"></script>
<script src="../assets/js/vendor/dataTables.keyTable.min.js"></script>
<script src="../assets/js/vendor/dataTables.select.min.js"></script>
这是我的数据表初始化:

var table = $("#ltable").DataTable({
    select: {
        style: "single"
    },
    columnDefs: [
    {
        "targets": [ 0 ],
        "visible": false,
        "searchable": false
    },
    {
        "targets": [ 1 ],
        "visible": false
    }],
    rowCallback: function( row, data ) {
        switch(data[1]) {
        case "":
        $(row).css('background-color','#f1f3fa');
        break;
        case "Open":
        $(row).css('background-color','#fbffc5');
        break;
        case "Closed":
        $(row).css('background-color','#ceffc5');
        break;
        case "Denied":
        $(row).css('background-color','#ffdac5');
        break;
    }},
    language: {
        search: "",
        searchPlaceholder: "Search",
        scrollX: true,
        sLengthMenu: "_MENU_items",
        paginate: {
            previous: "<i class='mdi mdi-chevron-left'>",
            next: "<i class='mdi mdi-chevron-right'>"
        }
    },
    "lengthMenu": [[10, 25, 50,100, -1], [10, 25, 50,100, "All"]],
    deferRender: true,
    drawCallback: function() {
        $(".dataTables_paginate > .pagination").addClass("pagination-rounded")
    }
});

现在已经解决了。有人更改了其中一个填充datatable的API上的代码,导致未处理的错误响应,从而导致datatable初始化中出现错误

但是,由于Stackoverflow和Datatable的官方论坛上都没有早期的支持或答案,为了将来的参考,这是由于以下两种原因之一导致的初始化错误-:

您的库未正确加载。检查具体的和他们的顺序。使用Datatable库配置下载

由于某些原因,用于datatable的标记是不正确的,因此在动态数据的情况下,检查实际呈现的内容总是很好的


在我的例子中,在构建datatable时定义的列与html中给定的列不同步。就像我从数据表中删除了一些列,但忘了在html中将colspan属性从3减少到2。在我更正并保持html列和datatable列同步后,它开始工作。

你好,Jojo Thomas,您是否尝试过用最小配置初始化datatable?像一个简单的var表=$ltable.DataTable;,然后一次增加一个配置,以发现错误弹出的位置?不太可能,因为所有配置都运行了很长时间,似乎突然停止了,但我会尝试一下,即使是一个简单的裸机初始化也会显示相同的错误您是否更新了正在加载的库或脚本?更新可能会导致依赖性问题不,我加载的所有数据表库上面标记为第三方js都是相同的。我正在加载的唯一新库是标记为Libs的库,即使在我删除它们之后,datatable错误仍然存在。所有这些都是本地库,没有CDN,因此远程更新也是不可能的。