情景描述:
需要用ajax验证用户输入的用户名是否存在,输入的用户名密码是否正确,并给出提示
bug01 用jQuery的方式使用ajax—没有引入jQuery…
bug02 比对校验的结果
在控制层 使用 writer.print(“error1”); 的时候 误用了 System.out.println(“error1”);,导致前端在比较的时候,
这个地方比较的逻辑始终是不正确的,所以就没有得到正确的结果
改完以上的两点之后,本人的ajax就好了
ajax使用的案例
前台的ajax jQuery的方式
<script type="text/javascript">
let flag=true;
function checkUserName(){
alert("this is alert");
$.ajax({
url:"CheckUserName",
type:"post",
// async:false, // 同步请求
data:"userName="+$("#userName").val()+"&password="+$("#password").val(),
dataType:"text",
success:function(result){
if(result==="error1"){
alert("登陆失败!用户名或密码错误");
flag=false;
}
if (result==="error2"){
alert("登陆失败!用户名不存在");
flag=false;
}
if(result==="success"){
flag = true;
}
}
});
return flag;
}
</script>
后台的处理方式
PrintWriter writer = resp.getWriter();
if (userByName==null){
//用户名不存在
writer.print("error2");
System.out.println("error2");
// req.getRequestDispatcher("index2.jsp").forward(req,resp);
}else if (!userByName.getPassword().equals(password)){
//密码输错了
writer.print("error1");
System.out.print("error1");
}else{
writer.print("success");
System.out.println("success");
}