我有这个html字段
<input type='text' name='newusername' value='' class='input-required' id='username'>
这是我function.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();
}
这是我的scipt.js
。
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']
中{{1}}中的函数始终为空...你对此有什么看法吗?似乎我的其他代码正在工作,但这不是......
答案 0 :(得分:1)
您在数据中传递jquery电子邮件,以便传递您应该传递的变量。 因为你在电子邮件中传递了价值。但是在$ _POST [&#39;用户名&#39;]中获取价值。所以在那个变量值是null $ username = $ _POST [&#39; 电子邮件&#39;];
答案 1 :(得分:0)
您错过了该功能中的参数。您需要提供发布到函数的变量。
function checkUsernameExistentVal($usernameParam)