来自嵌套对象数据的数据源 - 未加载

时间:2016-10-10 09:07:03

标签: jquery json datatables

我遇到的问题是jQuery DataTables没有显示任何结果。我有有效的JSON,我使用Laravel 5.2和Yajra DataTables包。

我一直收到这条消息:

  

'DataTables警告:table id = users - 请求的未知参数   第0行第0列的'firstname'。有关此内容的详细信息   错误,请参阅http://datatables.net/tn/4'

我的代码是:JS

$('#users').DataTable( {
    "processing": true,
    "ajax": "clients/json",
    "columns": [
        { "data": 'firstname' }
    ]
});

HTML

<table id="users" class="table table-hover table-condensed">
 <thead>
 <tr>
 <th>Firstname</th>
 </tr>
 </thead>
 </table>

JSON数据如下:

{"draw":0,"recordsTotal":7,"recordsFiltered":7,"data":[{"\"uniqueid\"":"57cea728a724c","\"firstname\"":"ken","\"lastname\"":"ertert                        ","\"telephone\"":"","\"mobile\"":"","\"postcode\"":"","\"email\"":"ken@koodoocreative.co.uk","\"tems\"":1,"\"children\"":{"\"3\"":{"\"first_name\"":"tertyreter","\"last_name\"":"etywert                       "}}},{"\"uniqueid\"":"57c69f469b1fb","\"firstname\"":"bryan","\"lastname\"":"johnson                       ","\"telephone\"":"03454345324","\"mobile\"":"03453523452","\"postcode\"":"sr690k","\"email\"":"bryan@koodoocreative.co.uk","\"tems\"":1,"\"children\"":{"\"4\"":{"\"first_name\"":"zak","\"last_name\"":"johnson                       "},"\"5\"":{"\"first_name\"":"sue","\"last_name\"":"johnson                       "}}},{"\"uniqueid\"":"57cd426ed8414","\"firstname\"":"not","\"lastname\"":"paying                        ","\"telephone\"":"","\"mobile\"":"","\"postcode\"":"r55rwefe","\"email\"":"not@koodoocreative.co.uk","\"tems\"":1,"\"children\"":{"\"2\"":{"\"first_name\"":"cant","\"last_name\"":"affordit                      "}}},{"\"uniqueid\"":"57ce97a188f6f","\"firstname\"":"barry","\"lastname\"":"sdf                           ","\"telephone\"":"","\"mobile\"":"","\"postcode\"":"","\"email\"":"barry@koodoocreative.com","\"tems\"":null,"\"children\"":{"\"1\"":{"\"first_name\"":"wherareU","\"last_name\"":"                              "}}},{"\"uniqueid\"":"57f3a5f56539d","\"firstname\"":"bob","\"lastname\"":"smith                         ","\"telephone\"":"","\"mobile\"":"","\"postcode\"":"","\"email\"":"bob@koodoocreative.co.uk","\"tems\"":null,"\"children\"":{"\"8\"":{"\"first_name\"":"claire","\"last_name\"":"smith"}}},{"\"uniqueid\"":"57cd410b0a601","\"firstname\"":"keey","\"lastname\"":"smith                         ","\"telephone\"":"01928272623","\"mobile\"":"07836736534","\"postcode\"":"ts34 y78","\"email\"":"michael@koodoocreative.co.uk","\"tems\"":1,"\"children\"":{"\"7\"":{"\"first_name\"":"blake","\"last_name\"":"smith                         "}}},{"\"uniqueid\"":"57d29c2f72883","\"firstname\"":"test","\"lastname\"":"waiti                         ","\"telephone\"":"","\"mobile\"":"","\"postcode\"":"","\"email\"":"test@koodoocreative.co.uk","\"tems\"":null,"\"children\"":{"\"6\"":{"\"first_name\"":"dunni","\"last_name\"":"sdf                           "}}}],"input":{"_":"1476088895989"}}

1 个答案:

答案 0 :(得分:1)

出于某种原因,您的JSON字段名称包含双引号。此外,您正在使用Yajra DataTables的服务器端处理模式,但客户端缺少serverSide: true选项。

与您的数据匹配的代码应为:

$("#users").DataTable( {
   "processing": true,
   "serverSide": true,
   "ajax": "clients/json",
   "columns": [
      { "data": '"firstname"' }
   ]
});

但是,在PHP代码中的某个位置,您使用额外的双引号设置列名称,如果您可以找到并删除额外的双引号,则它应该只是客户端{ "data": "firstname" }