Eroare 400 Bad Request la folosirea AJAX în tema personalizată WordPress
7 mar. 2018, 16:40:00
Vizualizări: 26.5K
Voturi: 1
Am lucrat la o temă personalizată în care încerc să implementez o căutare bazată pe AJAX. Am construit totul conform mai multor tutoriale și ghiduri, dar când inspectez apelul către admin-ajax, acesta continuă să returneze erori 400... Nu mai am idei și sper că cineva mă poate ajuta să înțeleg problema.
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('are postări');
} else {
echo json_encode('nu s-au găsit postări');
}
wp_die();
}
add_action('wp_ajax_load_search_results', 'load_search_results');
add_action('wp_ajax_nopriv_load_search_results', 'load_search_results');
Încărcarea scripturilor în 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
Comentarii
Toate răspunsurile la întrebare
1
Întrebări similare
1
răspunsuri
3
răspunsuri
4
răspunsuri