"language": { "emptyTable": "暂无数据" jquery.dataTables.js:39 Uncaught TypeError: Cannot read properties of undefined (reading 'length') },
时间: 2023-07-19 07:39:34 浏览: 186
这个错误提示表明,datatables库未能正确加载或初始化。
请确保你已经正确引用了datatables库,并且在代码中正确地初始化了datatables。你可以在代码中添加以下初始化代码:
```
$(document).ready(function(){
$('#example').DataTable({
"language": {
"emptyTable": "暂无数据"
}
});
});
```
注意,这里的`#example`是你的HTML表格的ID。如果你的HTML表格没有ID,请添加一个ID,以便datatables能够正确地找到它。
如果你已经正确引用了datatables库,并且初始化代码正确无误,但仍然出现上述错误,可能是因为你的datatables库版本与初始化代码不兼容。你可以尝试升级或降级datatables库,或者更换初始化代码,以适应你的datatables库版本。
相关问题
jquery.dataTables.js:39 Uncaught TypeError: Cannot read properties of undefined (reading 'length')
这个错误通常表示在jquery.dataTables.js文件的第39行尝试访问一个未定义的对象属性。具体来说,它试图读取一个未定义的对象的长度属性。可能的原因是该对象未被正确初始化或已被删除。您可以检查代码中是否有任何未定义的变量或对象,并确保所有必需的对象都被正确初始化。您还可以尝试使用调试工具来跟踪代码并查找问题所在。
fnCallback(sdata);返回空数组jquery.dataTables.js:39 Uncaught TypeError: Cannot read properties of undefined (reading 'length')
如果 fnCallback 在接收到空数组时报错,可能是因为 DataTables 的版本问题。在 DataTables 1.10 之前,fnCallback 接收到空数组时会报错,而在 DataTables 1.10 及之后的版本中,fnCallback 不会报错,但是会显示 No data available in table。如果你使用的是 DataTables 1.10 及之后的版本,可以将空数组作为参数传入 fnCallback,例如:
```
success: function(resp) {
var sdata = resp;
console.log(resp);
if (Object.keys(resp).length === 0) {
sdata = []; // 将 sdata 设置为空数组
}
fnCallback(sdata);
}
```
这样做的效果是,如果返回的数据为空对象,则将 sdata 设置为空数组,然后传入 fnCallback。这样 DataTables 就会显示 No data available in table。如果返回的数据不为空,则直接将 resp 作为参数传入 fnCallback。如果你使用的是 DataTables 1.10 之前的版本,可以将空数组转换为一个有一定长度的数组,例如:
```
success: function(resp) {
var sdata = resp;
console.log(resp);
if (Object.keys(resp).length === 0) {
sdata = [null]; // 将 sdata 设置为一个有一定长度的数组
}
fnCallback(sdata);
}
```
这样做的效果是,如果返回的数据为空对象,则将 sdata 设置为一个有一定长度的数组,然后传入 fnCallback。这样 DataTables 就不会报错了。如果返回的数据不为空,则直接将 resp 作为参数传入 fnCallback。
阅读全文