我正在尝试从Django脚本生成的JSON文件中添加添加数据。
这是JSON文件的格式:
[
{
"6": "yo1",
"1": "2019-04-04",
"4": "yo1",
"3": "yo1",
"2": "yo1",
"5": "yo1"
},
{
"6": "yo2",
"1": "2019-04-08",
"4": "yo2",
"3": "yo2",
"2": "yo2",
"5": "yo2"
}
]
JavaScript:
let url = `/api/?site=${filters.site_filter}&sd=${filters.sd}&ed=${filters.ed}&report_type=yo`;
$.getJSON(url, function(data) {data.forEach(d => {
console.log(data);
$('#video_data').DataTable( {
"ajax": allData
columns: [
{ title: "1" },
{ title: "2" },
{ title: "3" },
{ title: "4" },
{ title: "5" },
{ title: "6" }
]
} );
})
})
HTML代码:
<table border="1" id="video_data">
<thead>
<tr>
<th>Date</th>
<th>Site</th>
<th>Page Type</th>
<th>Device Type</th>
<th>Video Player Name</th>
<th>AB Test</th>
</tr>
</thead>
<tbody>
<tr>
<td></td>
</tr>
</tbody>
</table>
此操作的结果仅给我一条Loading
消息,并且每次加载页面时都出现此错误:DataTables warning: table id=video_data - Cannot reinitialise DataTable. For more information about this error, please see http://datatables.net/tn/3
我不确定我做错了什么吗?
答案 0 :(得分:0)
我看到了一些看起来不对劲的东西。
.getJSON
的第一个参数应该是json文件的路径。从外观上看,allData
似乎不是一条路径。
此外,您正在遍历getJson
响应中的每个项目,并一次又一次地初始化数据表。
最后,要使用数据集初始化表,请使用属性data
而不是ajax
。应该看起来像这样:
var url = 'path/to/json/file.json';
$.getJSON(url, function(data) {
$('#video_data').DataTable({
data: data
});
})