情景描述:
需要用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");
}