这是我从django后端收到的json格式。如何将数据表读入表中?
[{
"model": "model name",
"pk": 2,
"fields": {
"name1": ..,
"name2": ..,
}
},
{
"model": "model name",
"pk": 2,
"fields": {
"name1": ..,
"name2": ..,
}
}
]
使用Javascript:
$(document).ready( function () {
$('#tablename')
.on('xhr.dt', function(e, settings, json){
console.log(json)
})
.DataTable({
"ajax": {
"url": "list",
"dataSrc": "",
},
});
});
console.log(json)将json打印为字符串而不是JS对象。
答案 0 :(得分:1)
没有专注于:
$('#tablename').DataTable({
...
columns : [
{ data : 'fields.name1' },
{ data : 'fields.name2' }
//etc
]
});
更新(调查OP网站后)
您的期望
$.ajax({
dataType: 'json',
type: 'GET',
url: 'list',
}).done(addDataToTable.bind(this));
function addDataToTable(data){
this.dt.rows.add(data).draw();
}
要做什么?
以直接记录良好的方式进行,正如数百个示例所示:
<table id="animelist" class="table">
<thead>
<tr>
<th></th>
<th></th>
<th></th>
<th></th>
</tr>
</thead>
</table>
var dt = $('#animelist').DataTable({
ajax : {
url : 'list',
dataSrc : ''
},
processing: true,
columns : [
{"data" : 'fields.anime_name', "title": "Anime Title"},
{"data" : 'fields.season_no', "title": "Season"},
{"data" : 'fields.episodes_watched', "title": "Episodes Watched"},
{"data" : 'fields.total_episodes', "title": "Total Episodes"}
]
});
仅此而已。没有创意写的ajax调用,没有替代添加方法,没有字段翻倍,名称或标题定义,没有尾随逗号或其他任何内容。