DataTables:Uncaught TypeError:无法读取未定义的属性“默认值”
对DataTables使用Bootstrap集成时 ,在控制台中看到以下错误:
Uncaught TypeError:无法读取未定义的属性'defaults'(dataTables.bootstrap.js:20)
这会导致分页控件没有样式。
我可以看到,在工厂初始化,下面的代码需要运行:
factory( jQuery, jQuery.fn.dataTable );
但是, jQuery.fn.dataTable
返回undefined
。
问题是dataTable
没有定义在你调用这个方法的地方。
确保您正在以正确的顺序加载.js
文件:
<script src="/Scripts/jquery.dataTables.js"></script> <script src="/Scripts/dataTables.bootstrap.js"></script>
我得到了同样的错误,我使用webpack的laravel 5.4,在这里package.json之前:
{ ... ... "devDependencies": { "jquery": "^1.12.4", ... ... }, "dependencies": { "datatables.net": "^2.1.1", ... ... } }
我必须将jquery
和datatables.net
npm软件包置于package.json
中这些"dependencies": {}
或"devDependencies": {}
中,并且错误消失:
{ ... ... "devDependencies": { "jquery": "^1.12.4", "datatables.net": "^2.1.1", ... ... } }
我希望有帮助!