DataTables未捕获的TypeError:无法设置未定义的属性“ pdfMake”

时间:2019-02-25 20:14:01

标签: jquery datatables

我正在尝试为表设置数据表。该表没有什么特别的异常(在此示例中,内容保留为空白),我相信我已经包含了所有正确的文件以使Datatables起作用,但是,这是一个JavaScript错误:

buttons.html5.min.js:11未捕获的TypeError:无法设置未定义的属性'pdfMake'

   <head>
    <link rel="stylesheet" href="../js/jquery-ui-1.12.1/jquery-ui.css">

    <script type="text/javascript" src="../js/jquery-3.3.1.min.js"></script>
    <script type="text/javascript" src="../js/jquery.cookie.js"></script>
    <script type="text/javascript" src="../js/jquery-ui-1.12.1/jquery-ui.js"></script>
    <script type="text/javascript" src="../js/DataTables-1.10.18/js/jquery.dataTables.min.js"></script>
    <script type="text/javascript" src="../js/Buttons-1.5.4/js/buttons.html5.min.js"></script>
    <script type="text/javascript" src="../js/Buttons-1.5.4/js/dataTables.buttons.min.js"></script>

    <script type="text/javascript" src="../js/pdfmake-0.1.36/pdfmake.min.js"></script>
    <script type="text/javascript" src="../js/JSZip-2.5.0/jszip.min.js"></script>
    <script type="text/javascript" src="../js/pdfmake-0.1.36/vfs_fonts.js"></script>
    <script type="text/javascript" src="../js/Buttons-1.5.4/js/buttons.colVis.min.js"></script>
    <script type="text/javascript" src="../js/Responsive-2.2.2/js/dataTables.responsive.min.js"></script>
    <link rel="stylesheet" type="text/css" href="../js/Buttons-1.5.4/css/buttons.dataTables.min.css">
    <link rel="stylesheet" type="text/css" href="../js/DataTables-1.10.18/css/jquery.dataTables.min.css">
    <link rel="stylesheet" type="text/css" href="../js/Responsive-2.2.2/css/responsive.dataTables.min.css">
</head>
<body><table id="termtable7"></table></body>
<script>
$(document).ready(function(){
    var datatable=$('#termtable'+question_id).DataTable({        
       dom:'Bfrtip',
       buttons:['columnsToggle', 'copy', 'excel', 'pdf'],
      responsive:true
    });
});
</script>

显示的唯一按钮是columnToggle和搜索选项。由于该错误,其他按钮丢失了。

有人会了解Datatables从而使我了解这里到底发生了什么吗?

1 个答案:

答案 0 :(得分:0)

回答这个问题可能已经晚了,但可能会对其他人有所帮助。

我不得不将装载顺序更改为跟随,错误消失了。请注意javascript文件的加载顺序。订单必须完全相同的订单,否则将找不到组件。

<script src="js/jquery-3.4.1.min.js"></script>
<script src="js/bootstrap.min.js"></script>
<script src="js/popper.min.js"></script>    
<script src="js/jquery.dataTables.min.js"></script> 
<script src="js/dataTables.buttons.min.js"></script>    
<script src="js/pdfmake.min.js"></script>   
<script src="js/buttons.html5.min.js"></script> 
<script src="js/buttons.print.min.js"></script>