Ajax не вызывает функцию PHP в Wordpress - URL действителен, действие в данных, используется wp_die, PHP add_action (...) является правильным - PullRequest
0 голосов
/ 16 января 2019

PHP

function customFilter_wpcf7_is_email() { 

$emailIsValid = $_REQUEST['emailValid']; 
echo 'WHAT';
echo 'HI ' . $emailIsValid;
wp_die();

}
add_action( 'wp_ajax_nopriv_customFilter_wpcf7_is_email', 'customFilter_wpcf7_is_email' );
add_action( 'wp_ajax_customFilter_wpcf7_is_email', 'customFilter_wpcf7_is_email' );

PHP для локализации URL-адреса ajax (я разместил его в своем разделе wp_enqueue_scripts)

 wp_localize_script( 'screenr-child', 'wpcf7_EmailVerify', array( 'ajax_url' => admin_url( 'admin-ajax.php' ) ) );

Jquery:

     $.ajax({
            url: wpcf7_EmailVerify.ajax_url,
            type: 'POST',
        data: {
            action: 'customFilter_wpcf7_is_email',
            emailValid: emailValid,
        },
        success: function( response ) {
            console.log('ajax success');
        }
      });

Для справки, wpcf7_EmailVerify.ajax_url возвращает "https://whatevermysiteurlis/wp-admin/admin-ajax.php", поэтому URL-адрес в порядке.

редактирует:

  • Я также вижу «успех ajax» в журнале консоли.
  • ajax-код является частью функции, которая вызывается событием изменения ввода формы, и эта часть работает на основе предыдущих тестов

Помощь будет оценена, спасибо!

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