ajax非同期リクエストの送信

1898 ワード

フォーム検証でajaxでservletに非同期リクエストを送信し、現在入力しているユーザー名がすでに存在するかどうかを判断します.
1.jsでajaxが非同期リクエストを送信する:(一般的にフォームがフォーカスを失ったトリガ)
$.ajax({
    url:"",
    data:{"xuehao":$(this).val()},
    dataType:"json",
    type:"post",
    success:function(msg){
        if(msg){
            //alert("       !")
        }else{
            //alert("      !")
        }
    }
});

URLに記入されたリクエストのパス
dataはリクエストの値です
DataTypeは返されるデータ型で、一般的にjsonです
typeはリクエストメソッドのタイプで、getとpostの2種類があります.ここではpostです.
successはあなたの操作で、msgはservletがjsに戻るデータです.
2.servletにおけるpostメソッドによる非同期リクエストの処理
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws                 ServletException, IOException {
	studentService studentService = new studentService();
	String xuehao = request.getParameter("xuehao");
	boolean check_msg = false;
	try {
		check_msg = studentService.doSearchStudent(xuehao);
	} catch (SQLException e) {
		e.printStackTrace();
	}
	PrintWriter pw = response.getWriter();
	pw.println(check_msg);
}

PrintWriter pw = response.getWriter();
pw.println(check_msg);
この2つの言葉はjsページに応答するデータを伝えることです
3.データベース照会操作
public boolean doSearchStudent(String xuehao) throws SQLException {
	studentDaoImpl studentDaoImpl = new studentDaoImpl();
	return studentDaoImpl.search(xuehao);
}
public static boolean search(String xuehao) throws SQLException {
	connection  = Jdbc.getConnection();
	String sql = "select * from qmx where xuehao = ?";
	pst = connection.prepareStatement(sql);
	pst.setString(1, xuehao);
	ResultSet rs = pst.executeQuery();
	check_msg = rs.next();
	return check_msg;
};

データベースにこの情報がある場合はtrueを返し、そうでない場合はfalseを返します.
フロントエンドページに対応する情報が表示され、非同期インタラクションが実現されます.
 
何か問題があったらコメントしてください.