未捕获的TypeError:无法读取未定义数据表的属性“长度”

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了未捕获的TypeError:无法读取未定义数据表的属性“长度”相关的知识,希望对你有一定的参考价值。

我想实现数据表,但我收到以下错误:

jquery.dataTables.min.js:48 Uncaught TypeError: Cannot read property 'length' of undefined
at jquery.dataTables.min.js:48
at i (jquery.dataTables.min.js:35)
at Object.success (jquery.dataTables.min.js:35)
at u (jquery-3.3.1.min.js:2)
at Object.fireWith [as resolveWith] (jquery-3.3.1.min.js:2)
at k (jquery-3.3.1.min.js:2)
at XMLHttpRequest.<anonymous> (jquery-3.3.1.min.js:2)

我的实现看起来像这样:

var oTable2 = $('#MyDataTable2').show().DataTable({
  "ajax": {
      "url": 'http://mvc/ComplaintHandlerSquadFind',                         
      "type": "GET",
      "dataSrc": "Members",
      "data": { Code : $('#input_1').val() }
  },
  "columns": [
      {"data": "Code"},
      { "data": "Name" },
      { "data": "Email" }
          ]
})

这是加载到数据表中的JSON:

[{"Members":[{"Code":"001","Name":"Bay","Email":"d1@d.com"},{"Code":"00458","Name":"Beng","Email":"d2@d.com"}]}]
答案

通常这意味着jQuery DataTables无法在响应Ajax请求时找到数据,有关详细信息,请参阅TypeError: Cannot read property ‘length’ of undefined

ajax.dataSrc选项使用以下值:

"dataSrc": "0.Members"

以上是关于未捕获的TypeError:无法读取未定义数据表的属性“长度”的主要内容,如果未能解决你的问题,请参考以下文章

如何使用自定义错误消息捕获“TypeError:无法读取未定义的属性(读取'0')”?

未捕获的TypeError:无法读取未定义的属性“键”

VueJS:未捕获(承诺中)TypeError:无法读取未定义的属性“推送”

Vue:未捕获(承诺中)TypeError:无法读取未定义的属性'_c'

未捕获(承诺)TypeError:无法读取未定义的属性“长度”

jQuery DataTables:未捕获的 TypeError:无法读取未定义的属性“mData”