Jquery Wordpress Ajax发布错误403 admin-Ajax.php

Jquery Wordpress Ajax发布错误403 admin-Ajax.php,jquery,ajax,wordpress,Jquery,Ajax,Wordpress,更改选项时,我很难让Ajax调用正常工作 JS: function sendAjax() { console.log('function launched'); jQuery.ajax({ type: "POST", // use $_POST request to submit data url: john_cena_ajax_data.url, // URL to "wp-admin/admin-ajax.php"

更改
选项时,我很难让Ajax调用正常工作

JS:

function sendAjax() {
    console.log('function launched');
    jQuery.ajax({
      type: "POST", // use $_POST request to submit data
      url: john_cena_ajax_data.url, // URL to "wp-admin/admin-ajax.php"
      data: {
        action: 'john_cena', // wp_ajax_*, wp_ajax_nopriv_*
        nonce_ajax: john_cena_ajax_data.nonce,
        nonce_data: jQuery('#john-cena').data('nonce'),
        first_name: 'John', // PHP: $_POST['first_name']
        last_name: 'Cena'     // PHP: $_POST['last_name']
      },
      success: function (data) {
        jQuery('#john-cena').html(data);
      },
      error: function () {
        console.log(errorThrown); // error
      }
    });
  }
    
  
add_action( 'wp_ajax_john_cena',        'acn_john_cena_ajax_callback' );
add_action( 'wp_ajax_nopriv_john_cena', 'acn_john_cena_ajax_callback' );  

function acn_john_cena_ajax_callback(){

    /* Check DOM nonce */
    check_ajax_referer( 'john-cena-shortcode', 'nonce_data' );

    /* Check Localize Script Nonce */
    check_ajax_referer( 'john-cena-script-nonce', 'nonce_ajax' );

    /* Get request */
    $first_name = isset( $_POST['first_name'] ) ? $_POST['first_name'] : 'N/A';
    $last_name = isset( $_POST['last_name'] ) ? $_POST['last_name'] : 'N/A';
        
    ?>
    <p>Hello. Your first name is <?php echo strip_tags( $first_name ); ?>.</p>
    <p>And your last name is <?php echo strip_tags( $last_name ); ?>.</p>
    <?php
    wp_die(); // required. to end AJAX request.
}     

PHP:

function sendAjax() {
    console.log('function launched');
    jQuery.ajax({
      type: "POST", // use $_POST request to submit data
      url: john_cena_ajax_data.url, // URL to "wp-admin/admin-ajax.php"
      data: {
        action: 'john_cena', // wp_ajax_*, wp_ajax_nopriv_*
        nonce_ajax: john_cena_ajax_data.nonce,
        nonce_data: jQuery('#john-cena').data('nonce'),
        first_name: 'John', // PHP: $_POST['first_name']
        last_name: 'Cena'     // PHP: $_POST['last_name']
      },
      success: function (data) {
        jQuery('#john-cena').html(data);
      },
      error: function () {
        console.log(errorThrown); // error
      }
    });
  }
    
  
add_action( 'wp_ajax_john_cena',        'acn_john_cena_ajax_callback' );
add_action( 'wp_ajax_nopriv_john_cena', 'acn_john_cena_ajax_callback' );  

function acn_john_cena_ajax_callback(){

    /* Check DOM nonce */
    check_ajax_referer( 'john-cena-shortcode', 'nonce_data' );

    /* Check Localize Script Nonce */
    check_ajax_referer( 'john-cena-script-nonce', 'nonce_ajax' );

    /* Get request */
    $first_name = isset( $_POST['first_name'] ) ? $_POST['first_name'] : 'N/A';
    $last_name = isset( $_POST['last_name'] ) ? $_POST['last_name'] : 'N/A';
        
    ?>
    <p>Hello. Your first name is <?php echo strip_tags( $first_name ); ?>.</p>
    <p>And your last name is <?php echo strip_tags( $last_name ); ?>.</p>
    <?php
    wp_die(); // required. to end AJAX request.
}     

add_action('wp_ajax_john_cena','acn_john_cena_ajax_callback');
添加动作(“wp\u ajax\u nopriv\u john\u cena”、“acn\u john\u cena\u ajax\u回调”);
函数acn\u john\u cena\u ajax\u callback(){
/*检查DOM nonce*/
检查ajax\u referer('john cena shortcode','nonce\u data');
/*检查本地化脚本Nonce*/
检查ajax\u referer('john cena script nonce','nonce\u ajax');
/*获取请求*/
$first\U name=isset($\U POST['first\U name'])?$\U POST['first\U name']:'N/A';
$last_name=isset($_POST['last_name'])?$_POST['last_name']:'N/A';
?>
你好,你的名字是

你的姓是


你应该尽量简化你的问题。使用你的javascript控制台,检查请求是否正在运行以及答案是什么。 参考官方文件:
udemy上还有WordPress-Ajax的好课程。

好的,问题已经解决了,我只是按照另一个教程学习。