Как исправить ajax-запрос WordPress со статусом 400 - PullRequest
0 голосов
/ 03 мая 2019

Я трачу много времени на поиски решения этой проблемы. Я посмотрел на Google и StackExchange, но не получил ответа.

Итак, я ищу решение, когда при выполнении ajax-запроса через мой плагин (который я разрабатываю) я получаю эту ошибку состояния 400. enter image description here Я не знаю, почему я получаю это?

1 сценарий

function smn_admin_assets($page_now){    
    if( $page_now == "settings_page_smn_notice" ){
        wp_enqueue_style( 'smn-admin-style', plugins_url( "../assets/admin/admin.css", __FILE__ ) );
        wp_enqueue_script( 'smn-admin-js', plugins_url( "../assets/admin/admin.js", __FILE__), array( 'jquery' ), VERSION, true  );        
        $pass_value = array(
            'url'            => admin_url( 'admin-ajax.php' ),
            'cookieNonce'    => wp_create_nonce('cookieNonce')
        );
        wp_localize_script('smn-admin-js', 'smn_ajax', $pass_value );
    }    
}
add_action( 'admin_enqueue_scripts', 'smn_admin_assets' );

2 Ajax Request

$(document).ready(function () {        

    $("#clearCookie").on('click', function(){
        var clearCookie = $('#clearCookie').val();
        // Ajax Call
        $.ajax({
            url : smn_ajax.url,
            type : 'POST',
            data : {
                action : 'smn_clear_cookie',
                clearcookie : clearCookie
            },
            success : function( response ) {
                alert('Hello');
            },
            error: function () {
                alert(smn_ajax.url);
            }
        });

        return  false;
    });
});

3 Ajax Handling

function smn_clearCookie(){

    $clearCookie = $_POST['clearCookie'];
    var_dump($clearCookie);

    die();
}
add_action( 'wp_ajax_smn_clear_cookie', 'smn_clearCookie' );
add_action( 'wp_ajax_nopriv_smn_clear_cookie', 'smn_clearCookie' );

Дайте мне знать, почему я получаю эту ошибку; Спасибо за ваше время.

1 Ответ

0 голосов
/ 03 мая 2019

Ошибка 400 подсказывает нам, что мы передаем параметры ошибки.Я думаю, что:

var clearCookie = $('#clearCookie').val();

может быть нулевым.Вы можете проверить, когда на #clearCookie присваивается значение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...