Запрос AJAX
Ajax 2016-11-05
194362
Санкт-Петербург
+79051803960
support@servicecore.ru
Подключаем библиотеку JQUERY
<script type='text/javascript' src='https://servicecore.ru/wp-includes/js/jquery/jquery.js?ver=1.12.4'></script>
Вставляем форму
<div class="query-box" >
<form id="query-form" action="query-form" method="post">
<p class="query-status"></p>
<input id="query-param1" class="query-param1" type="text" placeholder="Параметр 1" name="query-param1" />
<input class="submit_button1" type="submit" value="Ответ" name="submit">
<?php wp_nonce_field( 'ajax-query-nonce', 'security' ); ?>
</form>
</div>
Вставляем код в фаил functions.php
function ajax_query_init(){
/* Подключаем скрипт для авторизации */
wp_register_script('ajax-query-script', get_template_directory_uri() . '/js/ajax-query-script.js', array('jquery') );
wp_enqueue_script('ajax-query-script');
/* Локализуем параметры скрипта */
wp_localize_script( 'ajax-query-script', 'ajax_query_object', array(
'ajaxurl' => admin_url( 'admin-ajax.php' ),
'redirecturl' => $_SERVER['REQUEST_URI'],
'loadingmessage' => __('Проверяются данные, секундочку...')
));
// Разрешаем запускать функцию ajax_login() пользователям
add_action( 'wp_ajax_ajaxquery' , 'ajax_query' ); // Для зарегистрированных пользователей
add_action( 'wp_ajax_nopriv_ajaxquery', 'ajax_query' ); // Для не зарегистрированных пользователей
}
// Выполняем авторизацию только если пользователь не вошел
add_action('init', 'ajax_query_init');
function ajax_query(){
// Первым делом проверяем параметр безопасности
check_ajax_referer( 'ajax-query-nonce', 'security' );
// Получаем данные из полей формы и проверяем их
$query_param1 = array();
$query_param1 = $_POST['query-param1'];
// Обрабатываем полученные данные
if ($query_param1 == '')
{
echo json_encode( array('message'=>"Введите пожалуйста информацию!") );
}
else {
global $wpdb;
$fivesdrafts = $wpdb->get_results( "SELECT id, user_login, user_pass FROM " . $wpdb->prefix . "users WHERE id = $query_param1 " );
if($fivesdrafts){
foreach ( $fivesdrafts as $fivesdraft ) {
echo json_encode( array('message'=>"$fivesdraft->id $fivesdraft->user_login $fivesdraft->user_pass<br>") );
}
}
else {
echo json_encode( array('message'=>"Ваша информация \"$query_param1\" в базе не найден!") );
}
}
wp_die();
}
Создаем файл /js/ajax-query-script.js
jQuery(document).ready(function($) {
$('.query-box #query-form').on('submit', function(e){
$('.query-box .query-status').show().text(ajax_query_object.loadingmessage);
$.ajax({
type: 'POST',
dataType: 'json',
url: ajax_query_object.ajaxurl,
data: {
'action': 'ajaxquery', //calls wp_ajax_nopriv_ajaxlogin
'query-param1': $('.query-box #query-param1').val(),
'security': $('.query-box #security').val()
},
success: function(data){
$('.query-box .query-status').text(data.message);
}
});
e.preventDefault();
});
});
Напишите свой комментарий