API в javascript возвращает данные, но не сохраняется в массив

#javascript #jquery #arrays #wordpress #api

Вопрос:

Я пытаюсь извлечь данные из API WordPress. Вот мой код:

 column.data().unique().sort().each(function (d,j) {
    var practiceArea = d.practice_area;
    var jsonPacticeArea = JSON.stringify(practiceArea);
    if (jsonPacticeArea !== undefined) {
        var res = $.map(jsonPacticeArea.split("|"), $.trim);
        for (var i = 0; i < res.length; i  ) {
             var str = res[i];
             str = str.replace(/"/gi, '').trim();
             if (arrayPracticeArea.indexOf(str) === -1) {
                 arrayPracticeArea.push(str);
             }    
        }
    }
});
 

«столбец» — это переменная, которая получает данные через API, и, насколько я понимаю, console.log(столбец. данных().уникальный().сортировать()), это возвращение полных данных, как вы можете видеть на скриншоте введите описание изображения здесь , и я хочу извлечь данные, отмеченные красным цветом прямоугольник и сохранить эти значения в массиве, но как только я пытаюсь добавить «каждой» функции для извлечения данных и хранить его в массив (в моем случае его arrayPracticeArea) его возвратом неопределенных значений.

Кто-нибудь может мне помочь, пожалуйста? Я просто не очень разбираюсь в Javascript API.

Вот мой код AJAX:

 var tableAttorney = $('#table_affliate_attorney').DataTable({
                    destroy: true,
                    searching: true,
                    bLengthChange: false,
                    scrollX: true,
                    scrollY: 440,
                    autoWidth: false,
                    "language": {
                        "emptyTable": "We are sorry but there are no Affiliate Attorneys within a 150 mile radius of your requested search"
                    },
                    ajax: {
                        type: 'get',
                        url: "/wp-admin/admin-ajax.php",
                        dataType: 'json',
                        cache: false,
                        data: {
                            'action': 'get_attorney_ajax',
                            'center_lat': center_lat,
                            'center_long': center_long,
                            'state': state,
                            'city': city,
                            'zip': zip
                        }
                      
                    },
                    columns: [
                        {"data": "title"},
                        {"data": "city"},
                        {"data": "state"},
                        {"data": "zip"},
                        {"data": "distance"},
                        {
                            "data": "phone",
                            className: 'datatablePhone',
                            render: function (data) {
                                return '<a href="tel:'   data   '">'   data   '</a>';
                            }
                        },
                        {
                            "data": "email",
                            className: 'px190EM',
                            render: function (data) {
                                return '<a href="mailto:'   data   '">'   data   '</a>';
                            }
                        },
                        {
                            className: 'js-practice-area',
                            "data": "practice_area"
                        },
                        {
                            "targets": -1,
                            "data": 'email',
                            render: function (data) {
                                return "<a class='contact-lawyer' href='#' data-toggle='modal' data-target='#exampleModal' data-whatever='@mdo' data-email='" data "'>Contact</a>";
                            }
                        },
                        
                    ],
                    columnDefs: [
                        {"width": "150px", "targets": [0]},
                        {"width": "130px", "targets": [5]}
                    ],
 

Поэтому я пытаюсь извлечь данные из столбцов->данные, которые имеют значение practice_area

Комментарии:

1. В какую часть кода вы поместили console.log то, что показано на скриншоте?

2. ваноум, я только что утешил. войдите в систему перед всей этой функцией.

3. Хорошо, на скриншоте показано, что это массив из 4 строковых элементов. Но в вашем коде вы пытаетесь получить practice_area свойство от объекта.

4. О да, я только что попробовал это сейчас, но он показывает ошибку, что столбец не может быть повторен. Я добавил этот код внутри функции, которую я показал в функции.

5. Вы подтвердили, что d это то, чего вы ожидаете console.log(d) ?