AJAX应用--基于HTML,以GET或POST方式,检查注册用户名是否存在

前端之家收集整理的这篇文章主要介绍了AJAX应用--基于HTML,以GET或POST方式,检查注册用户名是否存在前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

当光标移开文本框时,基于HTML,以GET或POST方式,检查注册用户名是否存在,使用DOM对象。效果如下图:

Jsp和javascript代码如下:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    
    <title>My JSP 'checkUser.jsp' starting page</title>
	<script type="text/javascript" src="js/createAjax.js"></script>	
  </head>
  
  <body>	
  	用户名:<input type="text" name="user" id="userId">
  	<br>
  	<span></span>
  		<script type="text/javascript">
  			//创建ajax对象
  			var ajax = createAjax();
  			//创建鼠标失去焦点事件
  			document.getElementById("userId").onblur = function(){
  				//准备发送请求
  				var method = "post";
  				var url = "${pageContext.request.contextPath}/CheckUserServlet?id="+new Date().getTime();
  				ajax.open(method,url,true);
  				
  				/*
	 			 *设置AJAX自动将请求体的中文进行编码,
	 			 *在默认情况下,AJAX不会自动对请求体中文编码的
	 			 *AJAX将会以表单POST形式发送到服务器
	 			 *如果该没该句代码,AJAX不会以表单形式发送请求体数据
	 			 */ 
				ajax.setRequestHeader("content-type","application/x-www-form-urlencoded");	
  				
  				//真正发送请求
  				username = this.value;
  				var content = "username="+ username;
  				ajax.send(content);
  				//监听服务器响应
  				ajax.onreadystatechange = function(){
  				//判断响应状态和响应码
  					if(ajax.readyState==4){
  						if(ajax.status){
  							//接受服务器响应的字符串
  							var text = ajax.responseText;
  							//将text添加到span标签内
  							document.getElementsByTagName("span")[0].innerHTML = text;
  						}
  					
  					}
  				};
  			};
  		
  		</script>
  </body>
</html>
servlet代码如下:

package kerwin.ajax;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class CheckUserServlet extends HttpServlet {

	public void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException {
		//设置解码方式
		request.setCharacterEncoding("utf-8");
		response.setContentType("text/html; charset=utf-8");
		//获取用户名
		String username = request.getParameter("username");
		//模拟调用业务层
		String msg = "<font color='green'>可以注册!!</font>";
		if("杰克".equals(username)){
			msg = "<font color='red'>该用户名已被注册!!</font>";
		}
		//已流IO流的方式,将普通字符串,输出到ajax引擎
		response.getWriter().write(msg);
	}

	public void doPost(HttpServletRequest request,IOException {
		doGet(request,response);
	}

}

猜你在找的Ajax相关文章