Intereting Posts
Необходим метод для base_url () или home_url () в дополнительных настройках CF7 Как правильно подготовить инструкцию% LIKE% SQL? Изменить категорию базы для пользовательских типов сообщений или сообщений Пользовательский тип сообщения Следующая / предыдущая ссылка? Используйте wp_enqueue_scripts из включенного php-файла Перенаправить URL страницы на домашний URL без использования плагина Когда я выбираю страницу для главной страницы, она пуста Программно создать страницу meta_query все сообщения между возрастом Cache Busting с использованием правила htaccess Rewrite? Какую настройку следует настроить для перемещения новой папки сайта? Какой плагин вы используете для превращения сайта на WordPress в агрегатор блога Различные субдомены меняют содержимое страницы Использование условных операторов вместо настраиваемых шаблонов страниц Как получить прикрепленный файл в WordPress из пользовательского сообщения

Как передать идентификатор гиперссылки на обработчик ajax?

Итак, я создал такое «выпадающее меню» в пользовательском шаблоне страницы

<div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink"> <?php global $wpdb; $select = $_POST['department_id']; $sql="SELECT DISTINCT department, department_id FROM employee WHERE department_id NOT IN ('19', '21');"; $resultDropdown = $wpdb->get_results($sql, ARRAY_A); ?> <?php foreach($resultDropdown as $d): ?> <a class="dropdown-item" href="" id= "<?php echo $d['department_id'];?>"><?php echo $d['department']; ?></a> <?php endforeach; ?> </div> 

и это мой js-файл

  jQuery(document).ready( function($) { $("dropdown-item").click( function() { var data = { action: 'get_data', id: $(this).attr('id') }; jQuery.ajax({ url: '/wp-admin/admin-ajax.php', data: data , method: 'GET', dataType: 'text', function(response) { console.log(response); alert(data); } }); }); }); 

и это моя функция get_data в functions.php

 function get_data() { global $wpdb; $o=$_GET['id']; $result2 = $wpdb->get_results("SELECT `firstname`, `lastname`, `department`, `phone`,`job_title`, `cell_phone`, `image`, `email`, `address`, `room`FROM employee WHERE department_id=" . $o ); foreach($result2 as $r){ echo '<div class="info-block bg-grey mb-2 pa-2">'; echo '<h4 class="h4 underline-sm">' . $r['firstname'] . " " . $r['lastname'] . " </h4>"; echo '<div class="col-sm-8 text-xs-left">'; echo ' <p class="mb-1"><b>' . $r['job_title'] ; echo 'Tööruum: ' . $r['room']; echo '</b></p>'; echo '<a href="mailto:' . $r['email'] . '">' . $r['email'] . '></a>'; echo '<p class="mb-0">' . $r['phone'] . " " . $r['cell_phone'] . '</php></p>'; echo '</div>'; echo '<div class=" col-sm-4 text-xs-right mb-1">'; echo ' <img src="' . $r[image] . '" class="rounded-circle lg" alt="">'; echo '</div>'; echo '</div>'; echo '</div>'; } echo $result2; wp_die(); } add_action( 'wp_ajax_nopriv_get_data', 'get_data' ); add_action( 'wp_ajax_get_data', 'get_data' ); 

и я выделил его в функции php

  function my_enqueue() { wp_enqueue_script( 'ajax-script', get_template_directory_uri() . '/js/getData.js', array('jquery') ); $data = array( 'ajax_url' => admin_url( 'admin-ajax.php' ) ); } add_action( 'wp_enqueue_scripts', 'my_enqueue' ); 

Но я не понимаю, почему я не могу получить какие-либо результаты? Единственное, что я получаю, это пустые скобки [], когда я кодирую его в JSON и использую dataType JSON в js-файле. и почему-то я слишком тупой, чтобы создавать правильные блоки кода здесь – извините за это. Но где я совершил ошибку?

EDIT: Теперь я могу получить данные как JSON. Но когда я использую foreach, он не работает, я получаю только два первых строки данных. Как я могу положить результат

 [{"firstname":"Avely","lastname":"Ahja","department":"Pesumaja","phone":null,"job_title":"pesumaja operaator" ,"cell_phone":null,"image":null,"email":null,"address":null,"room":null},{"firstname":"Elvira","lastname" :"Jakobson","department":"Pesumaja","phone":null,"job_title":"pesumaja operaator","cell_phone":null,"image" :null,"email":"elvira.jakobson@khk.ee","address":null,"room":null}] 

к этому элементу HTML? как firstname в $ r ['firstname']?

Solutions Collecting From Web of "Как передать идентификатор гиперссылки на обработчик ajax?"