php函数的ajax html$_POST值返回null

ajax html $_POST value from php function returns null

本文关键字:POST 返回 null 函数 ajax html php      更新时间:2023-09-26

我有这个html字段

<input type='text' name='newusername' value='' class='input-required' id='username'>

这是我在function.php 中的php代码

add_action('wp_ajax_checkUsernameExistentVal', 'checkUsernameExistentVal');
add_action('wp_ajax_nopriv_checkUsernameExistentVal', 'checkUsernameExistentVal');
function checkUsernameExistentVal(){
    $username = $_POST['newusername']; // it alwas null?
    // $username = 'existedusuer'; // works fine
    $val = checkCOntactUsernameExist($username);
    if ($val){
        $usernname_val= 'false';
    }else{
        $usernname_val = 'true';
    }
    // I concatenate `$username` to check if it has a value but it is always null?
    echo json_encode(array("validation" => $usernname_val.'-'.$val.'-'.$username));
    wp_die();
}

这是我的CCD_ 3。

jQuery('#username').blur(function() {
        jQuery.ajax(
        {
            url: ajax_url,
            type: "POST",
            dataType: "json",
            data: {
                action: 'checkUsernameExistentVal',
                email: jQuery(this).val(),
            },
            async: false,
            success: function (data)
            {
                alert(data + ' | '+ data.validation);
                // data.validation value is always 'true--'??
            },
        });
    });

我不知道为什么在我的function.php中,$_POST['newusername']中的函数总是空的。。你知道这件事吗?我的其他代码似乎在工作,但这不是。。。

您在数据中传递jquery电子邮件,这样您就应该传递变量。因为你在电子邮件中传递了值。但正在$_POST['username']中获取值。因此In中的变量值为空
$username=$_POST['电子邮件'];

您错过了函数中的参数。您需要提供发布到函数的变量。

function checkUsernameExistentVal($usernameParam)