Я пытаюсь проверить форму, используя jQuery Ajax в WordPress. Вот мой рабочий процесс:
Действие:
add_action( 'wp_ajax_nopriv_reg_action', [ $this, 'reg_action' ] );
add_action( 'wp_ajax_reg_action', [ $this, 'reg_action' ] );
Функция:
<code>public function reg_action() {
if ( ! wp_verify_nonce( $_POST['reg_nonce_field'], 'reg_action' ) ) {
return;
}
echo '<pre>';
print_r($_POST);
echo '
s '; Выход; }
Поле Nonce:
<?php wp_nonce_field( 'reg_action', 'reg_nonce_field' ); ?>
Локализовать скрипт
wp_localize_script( 'sdl-js', 'sdl', array(
'ajax_url' => admin_url( 'admin-ajax.php' )
) );
jQuery Ajax Звоните
;(function($) {
$("document").ready(function(){
$(".registration").click(function(e){
e.preventDefault();
var form_data = $("#registration_data").serialize();
$.ajax({
url : sdl.ajax_url,
type : 'POST',
dataType : 'html',
data : {
action: 'reg_action',
form_data : form_data,
},
success : function( result ) {
console.log( result );
}
});
});
});
})(jQuery);
НО каждый раз, когда он показывает мне 400 Плохой запрос :( :(: (
Можете ли вы сказать мне, почему? Что я делаю не так?