WordPress Ajax запрос показывает сообщение об ошибке 400 - PullRequest
0 голосов
/ 13 марта 2020

Я пытаюсь проверить форму, используя 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 Плохой запрос :( :(: (

Можете ли вы сказать мне, почему? Что я делаю не так?

1 Ответ

0 голосов
/ 13 марта 2020

Вы вводите свою функцию php?

Проверьте свой JS с

$.post(
    sdl.ajax_url, {
        "action": "reg_action",
        "form_data": form_data,
        "dataType": "html",
    },
    function(response) {
        console.log(response);
    }
);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...