jQuery ajax не отправляет переменную post в Wordpress - PullRequest
0 голосов
/ 17 января 2019

Я пытаюсь получить данные формы и отправить их в WordPress с помощью вызова AJAX. Вызов проходит через, но переменная не достигает сценария php. Почему это так?

Я проверил, что formData содержит переменную.

Это мой JS:

$(document).ready(function() {
    $('form').submit(function(event) {
        var formData = {'title': $('input[name=title]').val() };
        $.ajax({
            url: '<?php echo  admin_url( 'admin-ajax.php' );?>',
            data: {
                action     : 'my_ajax_action',
                data  : formData,
            },
            success:function(data) {
                console.log(data);
            },
            error: function(errorThrown){
                console.log(errorThrown);
            },
        });
    event.preventDefault();
    });
});

Это мой php:

add_action( 'wp_ajax_my_ajax_action', 'my_ajax_action_callback' );
function my_ajax_action_callback(){
    $title =isset( $_POST['data'] ) ? $_POST['data'] : 'N/A';
    echo $title;
    die();
}

1 Ответ

0 голосов
/ 17 января 2019

Метод jQuery ajax по умолчанию - GET, так что, может быть, это ваша проблема? Попробуйте добавить метод: «POST» к вашим опциям:

$.ajax({
  method: 'POST',
  ... etc
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...