jQuery 数据table 无法将 json 送入 table
jQuery Datatable unable to feed json into the table
这是我从 django 后端收到的作为响应的 json 的格式。如何让数据table 将其读入table?
[{
"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 对象。
没有花招:
$('#tablename').DataTable({
...
columns : [
{ data : 'fields.name1' },
{ data : 'fields.name2' }
//etc
]
});
更新(调查 OP 网站后)
- 你的 http://anime.moxware.com/list/ 工作得很好
- http://anime.moxware.com/list/?_12234343434也是
你期待什么
$.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 调用,没有替代添加方法,没有加倍字段、名称或标题定义,没有尾随逗号或其他任何内容。
这是我从 django 后端收到的作为响应的 json 的格式。如何让数据table 将其读入table?
[{
"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 对象。
没有花招:
$('#tablename').DataTable({
...
columns : [
{ data : 'fields.name1' },
{ data : 'fields.name2' }
//etc
]
});
更新(调查 OP 网站后)
- 你的 http://anime.moxware.com/list/ 工作得很好
- http://anime.moxware.com/list/?_12234343434也是
你期待什么
$.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 调用,没有替代添加方法,没有加倍字段、名称或标题定义,没有尾随逗号或其他任何内容。