溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

如何實(shí)現(xiàn)用Ajax校驗(yàn)用戶名是否存在

發(fā)布時(shí)間:2021-10-11 10:11:00 來源:億速云 閱讀:141 作者:iii 欄目:開發(fā)技術(shù)

本篇內(nèi)容主要講解“如何實(shí)現(xiàn)用Ajax校驗(yàn)用戶名是否存在”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“如何實(shí)現(xiàn)用Ajax校驗(yàn)用戶名是否存在”吧!

jsp頁面

我引入了bootstrap和jQuery

<div class="form-group">
     <label for="inputEmail3" class="col-sm-2 control-label"
      >姓名</label>
     <div class="col-sm-10">
      <input type="text" class="form-control" id="studentName"
       name="studentName" placeholder="請(qǐng)輸入姓名">
        <span id="s_studentName"></span>
     </div>
</div>

register.jsp頁面

<script src="js/jquery.min.js"></script>
<script src="js/bootstrap.min.js"></script>
<script>
 //頁面加載完成之后
 function fun() {
  //給用戶名綁定blur事件
  $("#studentName").blur(function() {
   //獲取studentName文本框的值
   var studentName = $("#studentName").val();
   //發(fā)送ajax請(qǐng)求
   //期望服務(wù)器響應(yīng)回的數(shù)據(jù)格式{"userExsit":true,"msg":"此用戶名太受歡迎,請(qǐng)更換一個(gè)"}
   //                          {"userExsit":false,"msg":"此用戶名已存在"}
   $.get("CheckNameServlet", {
    "studentName" : studentName
   }, function(data) {
    //判斷userExsit鍵的值是否為true
    var span = $("#s_studentName");
    if (data.isExist) {
     //用戶不存在
     span.css("color", "red");
     span.html(data.msg);
    } else {
     //用戶存在,可以給提示,也可以不給
     span.html("");
    }
   },"json");
  });
 };
 fun();
</script>

后臺(tái)student文件下的CheckNameServlet頁面

protected void doGet(HttpServletRequest request, HttpServletResponse response)
   throws ServletException, IOException {
   //設(shè)置編碼格式
  response.setContentType("text/html;charset=UTF-8");
  //獲取前端頁面的值
  String name = request.getParameter("studentName");
  // 期望服務(wù)器響應(yīng)回的數(shù)據(jù)格式{"isExsit":true,"msg":"此用戶名太受歡迎,請(qǐng)更換一個(gè)"}
  // {"userExsit":false,"msg":"此用戶名已存在"}

  // 檢驗(yàn)是否存在該用戶名
  try {
   boolean isExist = StudentService.isExist(name);
   System.out.println("isExist" + isExist);
   Map<String, Object> map = new HashMap<>();
   // 通知頁面,到底有沒有
   if (isExist) {
    map.put("isExist", true);
    map.put("msg", "此用戶名太受歡迎,請(qǐng)更換一個(gè)");
   } else {
    map.put("isExist", false);
    // map.put("msg", "用戶名可用");
   }
   //將map轉(zhuǎn)換為json之前,要導(dǎo)包哦~
   // 將map轉(zhuǎn)為json,并傳遞給客戶端
   ObjectMapper mapper = new ObjectMapper();
   mapper.writeValue(response.getWriter(), map);
  } catch (SQLException e1) {
   // TODO Auto-generated catch block
   e1.printStackTrace();
  }

 }

JDBCDemo的方法的實(shí)現(xiàn)(我沒實(shí)現(xiàn)接口,直接寫的)

public static boolean checkName(String name) throws SQLException {
  boolean flag = false;
  String sql = "select * from student_table where student_name=?";
  PreparedStatement statement = connection.prepareStatement(sql);
  statement.setString(1, name);
  ResultSet set = statement.executeQuery();
   如果存在我輸入的用戶名和數(shù)據(jù)庫表中已有的用戶名相同時(shí)
  if(set.next()) {
   flag = true;
  }
  return flag;
 }
}

到此,相信大家對(duì)“如何實(shí)現(xiàn)用Ajax校驗(yàn)用戶名是否存在”有了更深的了解,不妨來實(shí)際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI