fnCallback(sdata);返回空数据报错
时间: 2024-03-21 22:38:24 浏览: 65
如果 fnCallback 在接收到空数组时报错,可能是因为 DataTables 的版本问题。在 DataTables 1.10 之前,fnCallback 接收到空数组时会报错。可以将空数组作为参数传入 fnCallback 的时候,将其转换为一个有一定长度的数组,例如:
```
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。
相关问题
fnCallback(sdata);返回[null]报错jquery.dataTables.js:39 Uncaught TypeError: Cannot read properties of undefined (reading 'length')
如果在 DataTables 中使用 fnCallback 时,传入 [null] 作为参数会导致报错,可能是因为 DataTables 的版本问题。在 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 = [undefined]; // 将 sdata 设置为一个有一定长度的数组
}
fnCallback(sdata);
}
```
这样做的效果是,如果返回的数据为空对象,则将 sdata 设置为一个有一定长度的数组,然后传入 fnCallback。这样 DataTables 就不会报错了。如果返回的数据不为空,则直接将 resp 作为参数传入 fnCallback。注意,这里使用的是 [undefined],而不是 [null],因为在 DataTables 1.10 之前的版本中,传入 [null] 会导致报错。
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。
阅读全文