我已经为WordPress多站点安装创建了一个自定义注册表。它允许注册新的博客和用户。我想用ajax检查一下给定的用户名是否可用。这就是我目前的情况:
add_action( \'wp_footer\', \'pb_ajax_add_js\' );
function pb_ajax_add_js() {
// add script to the footer
wp_enqueue_script( \'pb_ajax\',
plugin_dir_url( __FILE__ ).\'js/script.js\',
array(\'jquery\'), BOJ_ARM_VERSION, true
);
//Get protocol of the current page.
$protocol = isset( $_SERVER["HTTPS"]) ? \'https://\' : \'http://\';
// Display the admin-ajax.php using the same protocol as the current page.
$params = array(
\'ajaxurl\' => admin_url( \'admin-ajax.php\', $protocol )
);
wp_localize_script( \'pb_ajax\', \'pb_ajax\', $params );
}
服务器端请求处理:
// Ajax request handling.
add_action(\'wp_ajax_nopriv_boj_arm_ajax\', \'pb_check_username\');
add_action(\'wp_ajax_boj_arm_ajax\', \'pb_check_username\');
function pb_check_username() {
$username = $_REQUEST[\'usr\'];
echo $username;
die();
}
和jQuery脚本(注意:在此版本中,验证是在单击链接之后进行的)
(function($) {
$(\'.check-username\').click(function(){
var link = this;
$(link).html(\'sprawdzanie...\');
// href="\' . get_permalink() . "#more-{$post->ID}"
var usr = $("#site-addres-input").attr(\'value\');
var data = {
action: \'boj_arm_ajax\',
usr: usr
};
$.get(boj_arm.ajaxurl, data, function(data){
$(link).after(data).remove();
});
return false;
});
})(jQuery);
脚本未完成。它必须检查用户名是否存在,并返回true或false。你能帮帮我吗?