DataTable row() всегда не определен и не может получить данные

Я использую Datatables и пытаюсь получить данные строки, используя row().data() или rows().data(). Проблема в том, что строка не определена. Консоль показывает, что строка не определена, поэтому я не смог получить данные.

Данные загружаются из локального файла json. Смотрите мой код ниже. Я пробовал все решения в Интернете и до сих пор не могу получить данные. Я что-то упустил здесь?

$(document).ready(function() {
            var oTable = $('#example').DataTable();     


            function reloader(val) { 

                $('#example').DataTable( {
                    "destroy" : true,
                    "ajax": val + ".json",
                    "columns": [
                        { "data": "selected" },
                        { "data": "audienceName" },
                        { "data": "audienceId" },
                        { "data": "uniques" }
                    ],

                                             columnDefs: [ {
                        orderable: false,
                        //className: 'select-checkbox',
                        targets:   0,
                        'checkboxes': {
                           'selectRow': true
                        }
                    } ],
                    select: {
                        style:    'multi'
                    },
                    order: [[ 1, 'asc' ]]
                } ); 
            }; 

            $('#example tbody').on( 'click', 'tr', function () {
                $(this).toggleClass('selected');
                console.info(this); // prints the row element
                var data = oTable.row( this ).data();
                alert(data) // undefined
                //var row = oTable.row(pos).data();
                console.info(data['uniques']); // error
            } );

            $('select').on('change', function() {
              //alert( this.value );
              reloader(this.value);
            });
} );  

И JSON

{
  "data": [
    {
      "selected" : "",
      "audienceName":"Automotive",
      "audienceId":"111111",
      "uniques": "888"
    },
    {
      "selected" : "",
      "audienceName":"Automotive_Hybrid",
      "audienceId":"1111",
      "uniques": "888"
    }
]
}

console.info(oTable) возвращает значение ниже, но alert(oTable) возвращает [object Object]

_Api {context: Array(1), selector: {…}, tables: ƒ, table: ƒ, draw: ƒ, …}
$: ƒ ()
ajax: {__dt_wrapper: true, json: ƒ, params: ƒ, reload: ƒ, url: ƒ}
cell: ƒ ()
cells: ƒ ()
checkboxes: ƒ ()
clear: ƒ ()
column: ƒ ()
columns: ƒ ()
context: [{…}]
data: ƒ ()
destroy: ƒ ()
draw: ƒ ()
i18n: ƒ ()
init: ƒ ()
off: ƒ ()
on: ƒ ()
__dt_wrapper: true
arguments: (...)
caller: (...)
length: 0
name: ""
prototype: {constructor: ƒ}
__proto__: ƒ ()
[[FunctionLocation]]: jquery.dataTables.js:7194
[[Scopes]]: Scopes[3]
one: ƒ ()
order: ƒ ()
page: ƒ ()
row: ƒ ()
rows: ƒ ()
search: ƒ ()
select: ƒ ()
selector: {rows: null, cols: null, opts: null}
settings: ƒ ()
state: ƒ ()
table: ƒ ()
tables: ƒ ()
__proto__: Object(0)
any: ƒ ()
concat: ƒ concat()
context: []
count: ƒ ()
each: ƒ ( fn )
eq: ƒ ( idx )
filter: ƒ ( fn )
flatten: ƒ ()
indexOf: ƒ indexOf()
iterator: ƒ ( flatten, type, fn, alwaysNew )
join: ƒ join()
lastIndexOf: ƒ lastIndexOf()
length: 0
map: ƒ ( fn )
pluck: ƒ ( prop )
pop: ƒ pop()
push: ƒ push()
reduce: ƒ reduce()
reduceRight: ƒ reduceRight()
reverse: ƒ reverse()
selector: null
shift: ƒ shift()
slice: ƒ ()
sort: ƒ sort()
splice: ƒ splice()
to$: ƒ ()
toArray: ƒ ()
toJQuery: ƒ ()
unique: ƒ ()
unshift: ƒ unshift()
constructor: ƒ ( context, data )
__proto__: Object

Что вы получаете от console.info(data)?

EternalHour 12.02.2019 22:54

@EternalHour Я получаю неопределенность, а console.info(data['uniques']) получает Uncaught TypeError: Не удается прочитать уникальность свойства неопределенного

Ella 12.02.2019 23:45

Добавьте это внизу события клика и предоставьте вывод. console.info(oTable);

EternalHour 12.02.2019 23:48

@EternalHour возвращает _Api {context: Array(1), selector: {…}, tables: ƒ, table: ƒ, draw: ƒ, …}, который, как я полагаю, является объектом API? Я предоставлю более подробный вывод в своем вопросе.

Ella 12.02.2019 23:55

Но когда я предупреждаю (oTable), он выводит [object Object]

Ella 13.02.2019 06:57
Поведение ключевого слова "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) для оценки ваших знаний,...
0
5
521
0

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