路人甲12137
2019-07-04 08:51
采纳率: 90.9%
浏览 323

js注册成功未刷新页面显示登陆

//用户名查重按钮添加点击事件
$("#checkUsernameBtn").click(function(){
if($("#regForm #userName").val()==""||$("#regForm #userName").val()==null){
    showAlert("请输入用户名");
}
else{
    var request = new NetworkManager("/home/register/check");
    request.success = function(data){
        if (data.RET_CODE == "success"&& data.RET_OBJ) {
            showAlert("该用户名可以使用");
        } else {
            showAlert("该用户名已存在");
        }
    };
    request.post({userName:$("#regForm #userName").val()});
};
})

// 初始化

$(function() {
// 用户名正则校验
jQuery.validator.addMethod("isUserName", function(value, element, param) {
    var regu = /^[0-9a-zA-Z]*$/g;
    return regu.test(value);
}, "会员账号只能包含字母和数字");

// 初始化表单
  initForm();
 }   );
function initForm() {
// 设置form
setFrom();

// 提交表单
$('#regBtn').click(function() {
    var url = getContextPath() + "/home/register/user";
    $("#regForm").attr("action", url);
    $("#regForm").submit();
});

}
//设置form规则
function setFrom() {
// 校验form
var vform = $("#regForm").validate({
    rules : {
        userName : {
            required : true,
            maxlength:20,
            isUserName : true,
            remote : {
                type : "post",
                url : getContextPath() + "/home/register/check",
                data : {
                    userName : function(){
                        return $("#regForm #userName").val();
                    }
                },
                dataType : "json",
                dataFilter : function(data) {
                    data = eval("("+data+")");
                    if (data.RET_CODE == "success" && data.RET_OBJ) {
                        return true;
                    } else {
                        return false;
                    }
                }
            },
        },
        password:{
            required : true,
            maxlength :18,
            minlength :6
        },
        repassword:{
            required : true,
            equalTo : "#password"
        },
        sex : {
            required : true
        },
        birthday : {
            required : true
        },
        res : {
            isFileType:true
        },

        userMark : {
            maxlength : 1000
        }
    },
    messages : {
        userName : {
            required : "用户名不可以为空",
            remote: "该用户名已被使用",
            maxlength:"用户名长度不可超过20位"

        },
        password : {
            required : "密码不可以为空",
            maxlength : "密码最大18位",
            minlength : "密码最小6位"
        },
        repassword : {
            required : "请再次输入密码",
            equalTo : '确认密码与密码不一致,请重新输入'
        },
        sex : {
            required : "性别不可以为空"
        },
        birthday : {
            required : "出生日期不可以为空"
        },
        userMark : {
            maxlength : $.validator.format("请最多输入 {0} 个字符")
        }
    },
    submitHandler : function(form) {
        $(form).ajaxSubmit({
            beforeSend : function() {
                console.log(1);
                showModal("正在提交中...");
            },
            success : function(data) {
                console.log(3);
                hideModal();

                if (data.RET_CODE === "success") {
                    console.log(2);
                    showAlert("注册成功,请登录");
                    showRelogin(getContextPath());
                }  else {
                    showAlert(data.RET_MSG);
                }
            }
        });
    },
    errorPlacement : function(error, element) {
        error.insertAfter(element.parent());
        element[0].focus();
        return false;
    }
});
}


提交了两次请求,在数据库存了两条数据。。。。所以是哪里岔劈了

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

4条回答 默认 最新

  • limit-quan 2019-07-04 11:14
    已采纳

    用非异步方式提交,看结果是几条,可能是重复提交了

    已采纳该答案
    打赏 评论
  • Burcy Wen 2019-07-04 09:42

    submit后进入到success了么,要是进入了 贴出来showRelogin(getContextPath());实现看看

    打赏 评论
  • tongkaiming 2019-07-04 09:49
    success : function(data) {
                    console.log(data);//看看返回的结果
                    hideModal();
    
                    if (data.RET_CODE === "success") {
                        console.log(2);
                        showAlert("注册成功,请登录");
                        showRelogin(getContextPath());
                    }  else {
                        showAlert(data.RET_MSG);
                    }
                }
    
    打赏 评论
  • 一只成序源 2019-07-09 13:52

    在ajax请求里的beforeSend :函数里把提交按钮隐藏掉,在success再显示出来。防止重复提交

    打赏 评论

相关推荐 更多相似问题