#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)
?