Jquery datatable не показывает никаких записей данных массива json

Я хочу показать данные 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);
            }
        }

Вы уверены, что показываете нам правильный код, вызывающий вашу ошибку? Поскольку для меня ваша ошибка «Невозможно прочитать свойство« length »of undefined» указывает на то, что вы используете метод .length для объекта или переменной, которые еще не были определены. Но в показанном вами коде я не вижу длины, на которую указывает ошибка.

mrdeadsven 12.12.2018 11:09

да, я уверен, что тот же код, который я использую. его проблема с атрибутом данных не в ответе json. не знаю, как добавить атрибут данных в бэкэнд.

krishnamohan rao 12.12.2018 11:41
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
2
2
178
1

Ответы 1

Ваши данные должны находиться внутри объекта с атрибутом данных:

{
    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" }]
}

Другие вопросы по теме