2016-10-10 30 views
1

我有一个jQuery DataTables不显示任何结果的问题。我有有效的JSON,并且使用Laravel 5.2和Yajra DataTables软件包。来自嵌套对象数据的数据源 - 不加载

我不断收到这样的信息:

“的DataTable警告:表ID =用户 - 请求的未知参数 ‘姓’0行,列0。有关这个 错误的详细信息,请参阅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\"":"[email protected]","\"tems\"":1,"\"children\"":{"\"3\"":{"\"first_name\"":"tertyreter","\"last_name\"":"etywert      "}}},{"\"uniqueid\"":"57c69f469b1fb","\"firstname\"":"bryan","\"lastname\"":"johnson      ","\"telephone\"":"03454345324","\"mobile\"":"03453523452","\"postcode\"":"sr690k","\"email\"":"[email protected]","\"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\"":"[email protected]","\"tems\"":1,"\"children\"":{"\"2\"":{"\"first_name\"":"cant","\"last_name\"":"affordit      "}}},{"\"uniqueid\"":"57ce97a188f6f","\"firstname\"":"barry","\"lastname\"":"sdf       ","\"telephone\"":"","\"mobile\"":"","\"postcode\"":"","\"email\"":"[email protected]","\"tems\"":null,"\"children\"":{"\"1\"":{"\"first_name\"":"wherareU","\"last_name\"":"        "}}},{"\"uniqueid\"":"57f3a5f56539d","\"firstname\"":"bob","\"lastname\"":"smith       ","\"telephone\"":"","\"mobile\"":"","\"postcode\"":"","\"email\"":"[email protected]","\"tems\"":null,"\"children\"":{"\"8\"":{"\"first_name\"":"claire","\"last_name\"":"smith"}}},{"\"uniqueid\"":"57cd410b0a601","\"firstname\"":"keey","\"lastname\"":"smith       ","\"telephone\"":"01928272623","\"mobile\"":"07836736534","\"postcode\"":"ts34 y78","\"email\"":"[email protected]","\"tems\"":1,"\"children\"":{"\"7\"":{"\"first_name\"":"blake","\"last_name\"":"smith       "}}},{"\"uniqueid\"":"57d29c2f72883","\"firstname\"":"test","\"lastname\"":"waiti       ","\"telephone\"":"","\"mobile\"":"","\"postcode\"":"","\"email\"":"[email protected]","\"tems\"":null,"\"children\"":{"\"6\"":{"\"first_name\"":"dunni","\"last_name\"":"sdf       "}}}],"input":{"_":"1476088895989"}} 

回答

1

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

匹配您的数据的代码应该是:

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

但是在某处你的PHP代码,你设置有额外的双引号的列名,它应该是简单的{ "data": "firstname" }上,如果你的客户端可以找到并删除多余的双引号。