我目前在functions.php中有以下功能,用于检查数据库中是否存在用户名。
function check_username() {
$username = $_POST['user'];
if ( username_exists( $username ) ) {
$return['user_exists'] = true;
}
else {
$return['user_exists'] = false;
}
echo json_encode($return);
die();
}
add_action('wp_ajax_check_username', 'check_username');
我使用Ajax用适当的用户名调用该函数:
$.ajax({
url : "http://examle.com/wp-admin/admin-ajax.php",
type : "GET",
dataType : "json",
cache : false,
data : {
action : 'check_username',
user: 'test'
},
success : function (json) {
if (json.user_exists) {
alert(json.user_exists);
}
}
});
问题在于$username
返回null
而不是test
。我已经尝试了几个小时现在不同的组合,但他们都返回null
。
分配这个使得上面的php函数工作$username = 'test';
所以我很确定这不是php代码的问题。
所以我的问题是,如何让变量$username
听取并获取正确的参数而不是null
?
由于
答案 0 :(得分:3)
这是因为ajax正在提交一个GET变量,而php正在寻找一个POST变量。将ajax类型更改为POST或更改php以使用$ _GET ['user']。