Исправление ошибки 400 Bad Request при использовании AJAX в пользовательской теме
7 мар. 2018 г., 16:40:00
Просмотры: 26.5K
Голосов: 1
Я работаю над пользовательской темой, в которой пытаюсь реализовать поиск с использованием AJAX. Я создал всё согласно нескольким руководствам, но при проверке вызова admin-ajax постоянно возвращается ошибка 400... У меня закончились идеи, и я надеюсь, что кто-то сможет помочь разобраться с этой проблемой.
functions.php
function load_search_results(){
$q = $_REQUEST['query'];
$post_type = $_REQUEST['post_type'];
$args = array(
'post_type' => $post_type,
'post_status' => 'publish',
's' => $q,
);
$search = new WP_Query($args);
if ($search->have_posts()){
echo json_encode('есть записи');
} else {
echo json_encode('записи не найдены');
}
wp_die();
}
add_action('wp_ajax_load_search_results', 'load_search_results');
add_action('wp_ajax_nopriv_load_search_results', 'load_search_results');
Подключение скриптов в functions.php
wp_register_script('ajax-search', THEME_DIR .'/assets/js/ajax/search.ajax.js', array('jquery'), '1.0', false);
wp_enqueue_script('ajax-search');
wp_localize_script('ajax-search', 'myAjax', array('ajax_url' =>admin_url('admin-ajax.php')));
search.ajax.js
(function($) {
$(document).on('submit', '.controls-search', function(){
var $form = $(this);
var $input = $form.find('input[name="s"]');
var query = $input.val();
var $content = $('.licence');
$.ajax({
type: 'POST',
post_type: 'shuffle_licence',
url: myAjax.ajax_url,
data: {
action: 'load_search_results',
query: query
},
beforeSend: function(){
$input.prop('disabled', true);
$content.addClass('loading')
},
succes: function(response){
$input.prop('disabled', false);
$content.removeClass('loading');
$content.html(response);
},
dataType: 'html',
contentType: 'application/json',
});
return false;
});
}(jQuery))

Alex Hermans
21
Комментарии
Все ответы на вопрос
1
Похожие вопросы
1
ответов
3
ответов