Добрый день.
Вроде бы сделал все как в документации, но почему-то не могу получить данные из формы поиска.
<div class="search_form">
<form action="<?php esc_url(home_url('/')); ?>" method="post">
<input type="text" name="s" value="<?php get_search_query(); ?>" placeholder="Search...">
<input type="submit" value="Send">
</form>
</div>
wp_enqueue_script( 'wc-estore-ajax-search-js', get_template_directory_uri() . '/assets/js/ajax-search.js', array( 'jquery' ), _S_VERSION, true );
wp_localize_script('wc-estore-ajax-search-js', 'search', [
'url' => admin_url('admin-ajax.php'),
'nonce' => wp_create_nonce('search-nonce')
]);
functions.php
add_action( 'wp_ajax_search_ajax', 'searchAjax' );
add_action( 'wp_ajax_nopriv_search_ajax', 'searchAjax' );
function searchAjax(){
var_dump($_POST);
}
И сам js code
(function ($) {
$(function () {
$('.search_form input[name="s"]').on('keyup', function () {
let searchInput = $(this).val();
if (searchInput.length < 4) {
return false;
}
$.ajax({
url: search.url,
data: {
s: searchInput,
action: 'search_ajax', //событие на которой повесим функцию обработчик
nonce: search.nonce // nonce из объекта из wp_localize_script
},
type: 'POST',
dataType: 'json',
beforeSend: function (xhr) {
},
success: function (data) {
console.log(data);
}
});
});
});
})(jQuery);
Что не так, уже полчаса перебираю код, смотрю другие ошибки в сети, вроде бы и nonce правильный и хуки ajax тоже.
Где-то есть ошибка.
Заранее благодарен за подсказку.