1. ホーム
  2. Web プログラミング
  3. AJAX関連

ユーザー名の存在を確認するためのAjaxメソッド

2022-01-15 06:39:05

この記事では、ユーザー名の存在を確認するためのAjaxのサンプルコードを共有し、コードがシンプルで理解しやすい、非常に良いですが、あなたは、次の友人を参照する必要があります。

jspページ

bootstrapとjQueryを導入しました

<div class="form-group">
     <label for="inputEmail3" class="col-sm-2 control-label"
      style="color: #fff">name</label>
     <div class="col-sm-10">
      <input type="text" class="form-control" id="studentName"
       name="studentName" placeholder="Please enter name">
        <span id="s_studentName"></span>
     </div>
</div>

register.jspページ

<script src="js/jquery.min.js"></script>
<script src="js/bootstrap.min.js"></script>
<script>
 //after the page is loaded
 function fun() {
  //bind blur event to username
  $("#studentName").blur(function() {
   //Get the value of the studentName text box
   var studentName = $("#studentName").val();
   //Send ajax request
   // expect the server to respond back with the data format {"userExsit":true,"msg":"This username is too popular, please change one"}
   // {"userExsit":false,"msg":"This user name already exists"}
   $.get("CheckNameServlet", {
    "studentName" : studentName
   }, function(data) {
    // Determine if the value of the userExsit key is true
    var span = $("#s_studentName");
    if (data.isExist) {
     // the user does not exist
     span.css("color", "red");
     span.html(data.msg);
    } else {
     //The user exists, you can give a hint, or not
     span.html("");
    }
   },"json");
  });
 };
 fun();
</script>

バックエンドのstudentファイルの下にあるCheckNameServletのページ

protected void doGet(HttpServletRequest request, HttpServletResponse response)
   throws ServletException, IOException {
   //set the encoding format
  response.setContentType("text/html;charset=UTF-8");
  //Get the value of the front-end page
  String name = request.getParameter("studentName");
  // expect the server to respond back with the data format {"isExsit":true,"msg":"This username is too popular, please change one"}
  // {"userExsit":false,"msg":"This user name already exists"}

  // Check if the user name exists
  try {
   boolean isExist = StudentService.isExist(name);
   System.out.println("isExist" + isExist);
   Map<String, Object> map = new HashMap<>();
   // Notify the page, whether it is or not
   if (isExist) {
    map.put("isExist", true);
    map.put("msg", "This username is too popular, please change one");
   } else {
    map.put("isExist", false);
    // map.put("msg", "Username available");
   }
   // before converting map to json, to guide package oh~
   // convert the map to json and pass it to the client
   ObjectMapper mapper = new ObjectMapper();
   mapper.writeValue(response.getWriter(), map);
  } catch (SQLException e1) {
   // TODO Auto-generated catch block
   e1.printStackTrace();
  }

 }

JDBCDemoのメソッドの実装(インターフェイスを実装せず、直接書きました)

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();
   If the username I entered is the same as the one already in the database table
  if(set.next()) {
   flag = true;
  }
  return flag;
 }
}

要約すると

以上、ユーザー名の存在を確認するAjaxコードの例でしたが、ご参考になれば幸いです。