使用ajax加载一个jQuery DataTable

前端之家收集整理的这篇文章主要介绍了使用ajax加载一个jQuery DataTable前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试(和失败)使用内置的ajax源参数加载jQuery DataTable.但是,datatable可显示消息“Loading …”,其中应显示行.

这是我的datatable电话:

$('#my-table').dataTable( 
             {bFilter: false,bInfo: false,bJQueryUI: true,bPaginate: false,bStateSave: false,bSort: false,aoColumns: [ {"sTitle" : "Date"},{"sTitle" : "Our Co."},{"sTitle" : "Their Co."},{"sTitle" : "Note"} ],sAjaxSource: "/contact/company_name/"} );

使用Chrome,我可以看到对/ contact / company_name /的调用正在发生,返回状态200,并具有以下数据:[[[Hello],[Goodbye],[Test1],[Test2]]](其中是我的测试数据).

我还可以看到dataTables.min.js返回错误Uncaught TypeError:无法读取未定义的属性’length’.

我假设我的返回数据格式不正确.有人可以提出解决方案吗?

根据 website
您的服务应返回以下格式的数据:
{
  "aaData": [
    [
      "row 1 col 1 data","row 1 col 2 data","row 1 col 3 data","row 1 col 4 data"
    ],[
      "row 2 col 1 data","row 2 col 2 data","row 2 col 3 data","row 2 col 4 data"
    ],[
      "row 3 col 1 data","row 3 col 2 data","row 3 col 3 data","row 3 col 4 data"
    ],[
      "row 4 col 1 data","row 4 col 2 data","row 4 col 3 data","row 4 col 4 data"
    ]
  ]
}

因此,将数组包装在一个对象中,将数组命名为aaData,然后重试.
或者您可以以任何您喜欢的方式命名,但是您需要在数据表初始化中添加sAjaxDataProp参数(例如,您将其命名为数据,如下所示:

$('#example').dataTable( {
    "bProcessing": true,"sAjaxSource": "/ajaxsource/callmydata","sAjaxDataProp": "data"
} );

猜你在找的Ajax相关文章