未捕获的“类型错误: $(..).dataTable 不是在线服务器中的函数,但不是我的本地服务器中的函数

Uncaught `TypeError: $(...).dataTable is not a function` in online server, but not in my local server

本文关键字:服务器 函数 在线服务 在线 我的 dataTable 类型 错误 类型错误      更新时间:2023-09-26

将文件上传到在线服务器后,我在登录到控制台时TypeError: $(...).dataTable is not a function出现错误,但在本地服务器中,这不会出现,我的应用程序运行正常。

我按照这里的所有说明进行操作,但仍然不起作用。我真的不知道如何解决这个问题。

这是我下面的脚本:

<script src="<?php echo base_url();?>assets/grocery_crud/js/jquery-1.11.1.min.js"></script>
<script src="<?php echo base_url();?>assets/grocery_crud/js/jquery_plugins/config/jquery.noty.config.js"></script>
<script src="<?php echo base_url();?>assets/grocery_crud/js/common/lazyload-min.js"></script>
<script src="<?php echo base_url();?>assets/grocery_crud/js/common/list.js"></script>
<script src="<?php echo base_url();?>assets/js/plugins/datatables/jquery.dataTables.min.js"></script>
<script src="<?php echo base_url();?>assets/js/plugins/datatables/dataTables.bootstrap.min.js"></script>
<script src="<?php echo base_url();?>assets/grocery_crud/themes/datatables/js/flexigrid.js"></script>

请帮助我。希望这不会被关闭。

我发现在我的实时服务器中,文件的路径区分大小写。与我的本地服务器不同,我可以混合案例而不会发现任何问题。就我而言,当我像这样调用脚本时:<script src="mysite/assets/js/dataTables/jquery.dataTables.min.js"></script> ,并且路径assets/js/datatables/jquery.dataTables.min.js ,这在实时服务器上不起作用datatables其中文件夹与我的路径中的文件夹不同dataTables以调用该文件。

在官方文档中,包含来自 cdn 的 datatables.min.js 是很有说服力的。此脚本包含 jquery 和数据表的定义。

第二个脚本 bundles/datatables/js/datatables.js 正在尝试修补 jquery 以添加函数 initDataTablesdataTable

因此,顺序很重要。

这是我的/symfony/templates/list.html.twig 文件 for Symfony 4.2:

<!-- Insert this at the end of your body element, but before the closing tag -->
<script type="text/javascript" src="https://cdn.datatables.net/v/dt/jq-3.2.1/dt-1.10.16/datatables.min.js"></script> {# Included libraries: jQuery 3 3.2.1, DataTables 1.10.16 #}
<script src="{{ asset('bundles/datatables/js/datatables.js') }}"></script> {# An omines script that patches jquery : add initDataTables function #}
<script>
$(function() {
    // 'datatable' is defined in the symfony controller.
    // datatable_settings Twig function renders a compact JSON string with the configured settings required for initialization.
    var table = $('#presidents');
    if (table && table.initDataTables)
        table.initDataTables({{ datatable_settings(datatable) }});
});
</script>