Wordpress AJAX Форма - PullRequest
       2

Wordpress AJAX Форма

0 голосов
/ 10 декабря 2018

У меня самая странная проблема, и я чувствую, что упускаю что-то простое.Я пытаюсь обработать форму через Wordpress и AJAX.Но при указании на правильный URL, это дает мне 400 ошибок.У меня ощущение, что мои действия настроены неправильно или что-то в этом роде.Функция обработки - это метод в том же классе, который называется process_registration_form.

//JS
$('#user-registration').submit(function(e){
        e.preventDefault();

        var registrationForm = jQuery(this).serialize();

        jQuery.ajax({
          action:  'tribe_process_registration_form',
          type:    "POST",
          url:     tribe_process_user_registration.ajaxurl,
          data:    registrationForm,
          success: function(data) {
             console.log(data);
             //jQuery("#feedback").html(data);
          }
        });
});


//PHP
wp_enqueue_script( 'tribe_process_user_registration', plugin_dir_url( __FILE__ ) . 'js/tribe-product-gifting-public.js', array( 'jquery' ) );
wp_localize_script( 'tribe_process_user_registration', 'tribe_process_user_registration', array( 'ajaxurl' => admin_url( 'admin-ajax.php' ) ) );

add_action('wp_ajax_tribe_process_user_registration', array($this,'process_registration_form'));
add_action('wp_ajax_nopriv_tribe_process_user_registration', array($this,'process_registration_form'));

1 Ответ

0 голосов
/ 11 декабря 2018

Не думаю, что в приведенном выше коде есть какие-либо проблемы, но, возможно, я что-то упустил.Вот как я могу сделать свой AJAX-вызов.

Поставить в очередь файл сценария с функцией wp.

wp_enqueue_script( 'pc-frontend-js', plugins_url( 'Scripts/front-end.js', __FILE__ ), false );

   wp_localize_script( 'pc-frontend-js', 'pc_var_arguments', array(
          'woopb_nonce' => wp_create_nonce('woopb_nonce'),
          'ajax_url' => admin_url('admin-ajax.php')
      )
   );

AJAX-вызов

function callback_function(quantity) { 
    var condition = 'ajax_callback_condition'; 
    jQuery.ajax({
        url:  pc_var_arguments.ajax_url, 
        type : 'post',
        dataType: 'json',
        data : {
            action : 'ajax_callback_action',
            condition :condition,
            data : data,
        },
        success : function(response) {
            console.log(response);
        }   
    }); 
};

Крючки для ajax

 add_action( 'wp_ajax_ajax_callback_action', array($this,'callback_function' ));
        add_action( 'wp_ajax_nopriv_ajax_callback_action', array($this,'callback_function' ));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...