Я пытаюсь получить ответ от wordpress ajax. но получаю ошибку 400. Не могу понять где проблема. Я пробовал много раз, но не мог решить. jQuery версии 3.6. и файл filter.js работает отлично. Пожалуйста помогите.
function.php
add_action( 'init', 'my_script_enqueuer' );
function my_script_enqueuer() {
wp_register_script( "filter_script", get_template_directory_uri() . '/assets/js/filter.js', array('jquery') );
wp_localize_script( 'filter_script', 'filterAjax', array( 'ajaxurl' => admin_url( 'admin-ajax.php' )));
wp_enqueue_script( 'filter_script' );
}
add_action("wp_ajax_publication_filter_function]", "publication_filter_function");
add_action("wp_ajax_nopriv_publication_filter_function", "publication_filter_function");
function publication_filter_function(){
echo "Response hello";
}
filter.js
jQuery(document).ready( function() {
// Get filter value
jQuery('.publication-filter').on('change', function(e){
e.preventDefault();
var filter_value = this.value;
var nonce_val = jQuery('.filter_ajax_nonce').val();
jQuery.ajax({
type : "POST",
url : filterAjax.ajaxurl,
data : {
action: "publication_filter_function",
filter_value : filter_value,
nonce: nonce_val
},
success: function(response) {
if (response.type == "success") {
console.info("Hello");
}
else {
console.info("Not hello");
}
},
error : function(error){ console.info(error) }
});
})
});
отклик
@Justinas на вкладке сети ответ 0 . и ничего полезного из журнала ошибок. просто json данных заголовка.
Вы работаете над дочерней или пользовательской темой?
@KrunalBhimajiyani главная тема
Что вы пытались решить проблему? Где ты застрял?
@SudiptaDas, пожалуйста, проверьте мой предложенный ответ.
Вам нужно изменить эту строку:
add_action("wp_ajax_publication_filter_function", "publication_filter_function");
Я думаю, что вы по ошибке добавили скобку ]
в хук ajax, поэтому вызов ajax не работает.
Спасибо большое. Вы спаситель.
Этот ответ дает отличный повод иногда делать перерыв. Держу пари, вы бы сами это увидели, если бы посмотрели свежим взглядом. :)
Ты прав . Я кодирую с 6 часов. Мне нужно сделать перерыв.
Проверьте вкладку сети для получения дополнительной информации. Также проверьте журналы ошибок