Я хочу показать данные json в таблице данных jquery, но не показывает никаких записей. ошибка бросания
Cannot read property 'length' of undefined
Пример данных Я прикрепил свой код веб-API. Пожалуйста, проверьте, где мне нужно отредактировать, чтобы добавить «данные».
[{"id":79,"updatedDate":"2018-12-11T15:34:32","DeviceTime":null,"deviceid":1,"fingerid":1,"message":"ID 1 enrolled","devicename":"FingerScan","status":"IN"},{"id":80,"updatedDate":"2018-12-11T15:34:41.313","DeviceTime":null,"deviceid":1,"fingerid":1,"message":"ID 1 enrolled","devicename":"FingerScan","status":"OUT"},{"id":81,"updatedDate":"2018-12-11T15:34:46.893","DeviceTime":null,"deviceid":1,"fingerid":1,"message":"ID 1 enrolled","devicename":"FingerScan","status":"INVALID"}]
код
<script>
$(document).ready(function () {
$('#myTable').DataTable({
"ajax": {
"url": "/api/Attendance",
"type": "GET",
"datatype": "json"
},
"columns": [
{ "data": "id", "autoWidth": true },
{
"data": "updatedDate", "autoWidth": true, render: function (data, type, row) {
return moment(row.updatedDate).format('DD/MM/YYYY hh:mm:ss');
}
},
{ "data": "DeviceTime", "autoWidth": true },
{ "data": "deviceid", "autoWidth": true },
{ "data": "fingerid", "autoWidth": true },
{ "data": "message", "autoWidth": true },
{ "data": "devicename", "autoWidth": true },
{ "data": "status", "autoWidth": true },
]
});
});
</script>
код веб-API
[Route("api/Attendance")]
public HttpResponseMessage GetTemperature()
{
try
{
var gpsJson = "";
using (kernels1_itiEntities DB = new kernels1_itiEntities())
{
var temp = DB.attendances.ToList();
gpsJson = JsonConvert.SerializeObject(temp);
}
var response = this.Request.CreateResponse(HttpStatusCode.OK, gpsJson);
response.Content = new StringContent(gpsJson, Encoding.UTF8, "application/json");
return response;
}
catch (Exception ex)
{
return Request.CreateResponse(HttpStatusCode.InternalServerError);
}
}
да, я уверен, что тот же код, который я использую. его проблема с атрибутом данных не в ответе json. не знаю, как добавить атрибут данных в бэкэнд.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Ваши данные должны находиться внутри объекта с атрибутом данных:
{
data:
[{ "id": 79, "updatedDate": "2018-12-11T15:34:32", "DeviceTime": null, "deviceid": 1, "fingerid": 1, "message": "ID 1 enrolled", "devicename": "FingerScan", "status": "IN" }, { "id": 80, "updatedDate": "2018-12-11T15:34:41.313", "DeviceTime": null, "deviceid": 1, "fingerid": 1, "message": "ID 1 enrolled", "devicename": "FingerScan", "status": "OUT" }, { "id": 81, "updatedDate": "2018-12-11T15:34:46.893", "DeviceTime": null, "deviceid": 1, "fingerid": 1, "message": "ID 1 enrolled", "devicename": "FingerScan", "status": "INVALID" }]
}
Вы уверены, что показываете нам правильный код, вызывающий вашу ошибку? Поскольку для меня ваша ошибка «Невозможно прочитать свойство« length »of undefined» указывает на то, что вы используете метод .length для объекта или переменной, которые еще не были определены. Но в показанном вами коде я не вижу длины, на которую указывает ошибка.