首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >wordpress admin-ajax.php文件中出现Ajax“错误请求”错误400

wordpress admin-ajax.php文件中出现Ajax“错误请求”错误400
EN

Stack Overflow用户
提问于 2018-08-08 11:59:58
回答 1查看 482关注 0票数 0

我正在尝试在我的一个wordpress页面文件中创建一个用户注册页面。当调用ajax并使用admin-ajax.php文件作为url时,我遇到了一个400错误。发生ajax调用的函数如下所示:

代码语言:javascript
复制
  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);
    }
}

它位于主题目录中我的一个页面文件中。有人能帮我解决这个问题吗?谢谢。

EN

回答 1

Stack Overflow用户

发布于 2018-08-08 14:58:50

您需要以这种方式定义Ajax函数

代码语言:javascript
复制
function checkusername(){
}
add_action( 'wp_ajax_checkusername', 'checkusername' );
add_action( 'wp_ajax_nopriv_checkusername', 'checkusername' );
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51738428

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档