我正在尝试使用DataTables用JSON文件填充表格,但是每次加载页面时,表格只会显示“表格中没有可用数据”。
这是我当前的代码:
<table id="table_id" class="display">
<thead>
<tr>
<th>ID</th>
<th>Nombre</th>
<th>Apellido</th>
<th>Mail</th>
<th>Confirmado</th>
</tr>
</thead>
<tbody>
<tr>
<td>Row 1 Data 1</td>
<td>Row 1 Data 2</td>
</tr>
<tr>
<td>Row 2 Data 1</td>
<td>Row 2 Data 2</td>
</tr>
</tbody>
</table>
<script>
$(document).ready(function () {
$('#table_id').DataTable({
"ajax" : {"url":"/personas.json", "dataSrc":""},
"columns" : [
{personas : "id"},
{personas : "nombre"},
{personas : "apellido"},
{personas : "email"},
{personas : "confirmado"}
]
});
});
</script>
这是一段JSON代码:
{
"personas": [
{
"id": 0,
"nombre": "Aurelia",
"apellido": "Osborn",
"email": "aureliaosborn@lovepad.com",
"confirmado": false
},
{
"id": 1,
"nombre": "Curry",
"apellido": "Jefferson",
"email": "curryjefferson@lovepad.com",
"confirmado": true
}
]
}
这是我在加载页面(页面的一部分)时得到的:
以防万一这可能是问题所在,这是JSON的目录:
答案 0 :(得分:2)
更改
"ajax" : {"url":"/personas.json", "dataSrc":""}
到
"ajax" : {"url":"/personas.json", "dataSrc":"personas"}
通过指定dataSrc
,您将使用personas
中的personas.json
数组作为数据源。
请参阅以下内容以供参考:
https://datatables.net/examples/ajax/custom_data_property.html https://datatables.net/examples/ajax/custom_data_flat.html
此外,如前所述,数组[
的右括号没有匹配的]
的右括号。
以下是有关您的数据的有效示例:
https://jsfiddle.net/onLuw2pa/165/
我已经将您的JSON对象更改为值的数组(通过这样做,您不必指定columns
):
{
"personas":[
[
0,
"Aurelia",
"Osborn",
"aureliaosborn@lovepad.com",
false
],
[
1,
"Curry",
"Jefferson",
"curryjefferson@lovepad.com",
true
]
]
}
https://jsfiddle.net/onLuw2pa/169/ 这是一个使用您的确切JSON的示例。
答案 1 :(得分:0)
可能是因为您的“角色”数据格式不正确的json。它缺少一个封闭的数组括号。应该是:
{
"personas": [
{
"id": 0,
"nombre": "Aurelia",
"apellido": "Osborn",
"email": "aureliaosborn@lovepad.com",
"confirmado": false
},
{
"id": 1,
"nombre": "Curry",
"apellido": "Jefferson",
"email": "curryjefferson@lovepad.com",
"confirmado": true
}
]
}