采用jquery和ajax提交表单到servlet,但是在实现回传函数后自动刷新了页面。
//初始代码
$("#registerForm").submit(function(){
//1.发送数据到服务器
if(checkUsername() && checkPassword() && checkEmail()){
//校验通过,发送ajax请求,提交表单的数据 username=zhangsan&password=123
$.post("registUserServlet",$(this).serialize(),function(data){
//处理服务器响应的数据 data {flag:true,errorMsg:"注册失败"}
if(data.flag){
//注册成功,跳转成功页面
location.href="register_ok.html";
}else{
//注册失败,给errorMsg添加提示信息
$("#errorMsg").html(data.errorMsg);
}
});
}
//2.不让页面跳转
return false;
//如果这个方法没有返回值,或者返回为true,则表单提交,如果返回为false,则表单不提交
});
这里我一开始return false没有用 ,所以把submit按钮改成了Button。后面发现自己return false的位置出错了。
<input type="button" class="submit" id="submit" value="注册">
接着改aja代码
$("#submit").click(function(){
// function tijiao() {
if (checkusername() && checkpassword() && checkemail()) {
alert("aaa");
$.post("registUserServlet",$(this).serialize(),function(data){
//处理服务器响应的数据 data {flag:true,errorMsg:"注册失败"}
alert("bbb");
if (data.flag) {
//注册成功,跳转成功页面
location.href = "register_ok.html";
} else {
alert("ax");
//location.reload(false);
//注册失败,给errorMsg添加提示信息
$("#ErrorMsg").html(data.errorMsg);
//return false;返回的位置放错了
}
},"json");
}
// }
alert("fads");
// $("#registerForm").submit(tijiao);
})
});
直接在function中放ajax就可以,不需要写KaTeX parse error: Expected 'EOF', got '#' at position 3: ("#̲registerForm").…("#registerForm").submit(function(){}。
这个时候能提交也不刷新了,但是req.getParameter(“check”)取不到值,后台 System.out.println(check);显示的是null。
检查代码,因为是用按钮提交,$(this).serialize()不能再用了。
alert($("#registerForm").serialize());
$.post("registUserServlet",$("#registerForm").serialize(),function(data){}
改成$("#registerForm").serialize()即可