我正在尝试在我的一个wordpress页面文件中创建一个用户注册页面。当调用ajax并使用admin-ajax.php文件作为url时,我遇到了一个400错误。发生ajax调用的函数如下所示:
function checkusername(){
var u = _("username").value;
if(u != ""){
_("unamestatus").innerHTML = 'checking ...';
var ajax = ajaxObj("POST", "<?php echo admin_url('admin-ajax.php'); ?>");
ajax.onreadystatechange = function() {
if(ajaxReturn(ajax) == true) {
_("unamestatus").innerHTML = ajax.responseText;
}
}
ajax.send("usernamecheck="+u);
}
}
function signup(){
var u = _("username").value;
var e = _("email").value;
var p1 = _("pass1").value;
var p2 = _("pass2").value;
var fn = _("fname").value;
var ln = _("lname").value;
var m = _("major").value;
var phone = _("phone").value;
var blazeid = _("blazerid").value;
var status = _("status");
if(p1 != p2){
status.innerHTML = "Your password fields do not match";
}else {
_("signupbtn").style.display = "none";
status.innerHTML = 'please wait ...';
var ajax = ajaxObj("POST", "<?php echo admin_url('admin-ajax.php'); ?>");
ajax.onreadystatechange = function() {
if(ajaxReturn(ajax) == true) {
if(ajax.responseText != "signup_success"){
status.innerHTML = ajax.responseText;
_("signupbtn").style.display = "block";
} else {
window.scrollTo(0,0);
_("signupform").innerHTML = "OK "+u+", check your email inbox and junk mail box at <u>"+e+"</u> in a moment to complete the sign up process by activating your account. You will not be able to do anything on the site until you successfully activate your account.";
}
}
}
ajax.send("u="+u+"&e="+e+"&p="+p1+"&fn="+fn+"&ln="+ln+"&m"+m+"&phone"+phone+"&blazeid"+blazeid);
}
}它位于主题目录中我的一个页面文件中。有人能帮我解决这个问题吗?谢谢。
发布于 2018-08-08 14:58:50
您需要以这种方式定义Ajax函数
function checkusername(){
}
add_action( 'wp_ajax_checkusername', 'checkusername' );
add_action( 'wp_ajax_nopriv_checkusername', 'checkusername' );https://stackoverflow.com/questions/51738428
复制相似问题