【发布时间】:2020-08-31 10:26:15
【问题描述】:
我尝试在 ajax 调用中动态创建数据表。数据表总是抛出以下异常:
Uncaught TypeError: t is undefined
这是负责的coden-p:
$.ajax({
type: "POST",
url: url,
data: {data: JSON.stringify(forms, null, 2)},
async: true,
dataType: "json",
success: function (data) {
if(data.code === 1){
console.log(data);
if (data.mode === 'table'){
el = document.getElementById('fetcher');
table = document.createElement('table');
table.setAttribute('id', 'fetcherTable');
el.appendChild(table);
$('#fetcherTable').DataTable({
data: data.data.data,
columns: data.data.columns,
paging: false,
searching: false
})
}
}
},
error: function (request, error, errortext) {
console.log("error: " + error);
console.log(request);
}
});
接收到的数据格式如下:
{
"code":1,
"data":{
"colums":[
{
"data":"id",
"title":"ID"
},
{
"data":"pid",
"title":"PID"
},
{
"data":"title",
"title":"Titel"
},
{
"data":"stand",
"title":"Stand"
},
{
"data":"filename",
"title":"Dateiname"
},
{
"data":"fileformat",
"title":"Dateiformat"
},
{
"data":"processed",
"title":"Prozessiert"
},
{
"data":"valid",
"title":"Valide"
},
{
"data":"readable",
"title":"Lesbar"
},
{
"data":"fetchid",
"title":"FetcherID"
}
],
"data":[
{
"id":69,
"pid":"None",
"title":"None",
"stand":"2020-08-04T12:27:39.209133+02:00",
"filename":"20200804122905_None",
"fileformat":"xlb",
"processed":"2020-08-04T12:27:39.551378+02:00",
"valid":"2020-08-04T12:27:39.212346+02:00",
"readable":"2020-08-04T12:27:39.263416+02:00",
"fetchid":740
},
{
"id":68,
"pid":"None",
"title":"None",
"stand":"2020-08-04T11:12:22.030491+02:00",
"filename":"20200804111347_None",
"fileformat":"xlb",
"processed":"2020-08-04T11:12:22.436609+02:00",
"valid":"2020-08-04T11:12:22.036467+02:00",
"readable":"2020-08-04T11:12:22.088224+02:00",
"fetchid":740
},
{
"id":67,
"pid":"None",
"title":"None",
"stand":"2020-08-04T11:11:52.807305+02:00",
"filename":"20200804111318_None",
"fileformat":"xlb",
"processed":"2020-08-04T11:11:53.373856+02:00",
"valid":"2020-08-04T11:11:52.813327+02:00",
"readable":"2020-08-04T11:11:52.867918+02:00",
"fetchid":740
},
{
"id":66,
"pid":"None",
"title":"None",
"stand":"2020-08-04T11:04:28.049269+02:00",
"filename":"20200804110554_None",
"fileformat":"xlb",
"processed":"2020-08-04T11:04:28.346942+02:00",
"valid":"2020-08-04T11:04:28.052966+02:00",
"readable":"2020-08-04T11:04:28.105237+02:00",
"fetchid":740
},
{
"id":65,
"pid":"None",
"title":"None",
"stand":"2020-08-04T11:04:03.364790+02:00",
"filename":"20200804110529_None",
"fileformat":"xlb",
"processed":"2020-08-04T11:04:03.667429+02:00",
"valid":"2020-08-04T11:04:03.371583+02:00",
"readable":"2020-08-04T11:04:03.428413+02:00",
"fetchid":740
},
{
"id":64,
"pid":"None",
"title":"None",
"stand":"2020-08-04T11:00:49.168056+02:00",
"filename":"20200804110215_None",
"fileformat":"xlb",
"processed":"2020-08-04T11:00:49.443963+02:00",
"valid":"2020-08-04T11:00:49.175522+02:00",
"readable":"2020-08-04T11:00:49.229073+02:00",
"fetchid":740
},
{
"id":62,
"pid":"None",
"title":"None",
"stand":"2020-07-31T12:20:42.140621+02:00",
"filename":"20200731122435_None",
"fileformat":"xlsx",
"processed":"2020-07-31T12:20:42.740335+02:00",
"valid":"2020-07-31T12:20:42.147128+02:00",
"readable":"2020-07-31T12:20:42.165955+02:00",
"fetchid":740
},
{
"id":48,
"pid":"None",
"title":"None",
"stand":"2020-07-30T13:14:38.574587+02:00",
"filename":"20200730131831_None",
"fileformat":"xlsx",
"processed":"2020-07-30T13:14:53.562254+02:00",
"valid":"2020-07-30T13:14:38.774570+02:00",
"readable":"2020-07-30T13:14:38.888142+02:00",
"fetchid":740
}
]
},
"mode":"table"
}
我尝试了各种方法,但我无法使用 Datatables 提供的 ajax 功能,因为列需要保持动态。
任何帮助将不胜感激。
【问题讨论】:
-
您将列添加为
data.data.columns- 但是data.data.columns- 检查console.log(data.data.columns),哦,它是undefined- 为什么会这样?data == { "code":1, "data":{ "colums".......columns: data.data.colums它工作正常。严重的错别字。 -
您必须显示您的 HTML 表格。我遇到了这个错误,并且存在 HTML 语法问题。
标签: javascript jquery datatables