<Script type = " text / javascript " > función CheckUserName (nombre de usuario) { // enviar petición Ajax, compruebe que el nombre de usuario está disponible // código para enviar ajax solicitud comprende la etapa de cuatro pasos 4 se fija // de solicitud tradicionales a problemas algunos // navegador envía una petición AJAX gracias a la incorporada en el objeto objeto XMLHttpRequest // usando el navegador objeto XMLHttpRequest que luego puede iniciar un nuevo hilo solo navegador, el navegador envía la solicitud de hilo // lograr el efecto de asíncrona // 1. creación de AJAX objeto núcleo XMLHttpRequest "integrado en el navegador, se puede utilizar directamente) var XHR; IF (window.XMLHttpRequest) { XHR = nuevo nuevo el XMLHttpRequest (); } Else { xhr = nueva nueva del ActiveXObject ( " Microsoft.XMLHTTP " ); } // 2. // función de devolución de llamada se ha registrado // ejecución del programa de aquí, este último no realiza devolución de llamada, la función de devolución de llamada se ha registrado sólo xhr objeto // cuando readyState xhr tales como cambios de objeto, seguidos por los ejecuta la función de devolución de llamada // 0 solicitud sin inicializar (antes de llamar al Open ()) // 1 solicitud ha sido hecha (send llamada) antes de () // 2 petición enviado (aquí, el contenido puede ser obtiene generalmente a partir de la cabecera de respuesta) // 3 de procesamiento de solicitudes (por lo general en respuesta a algunos datos están disponibles, pero aún no ha completado la respuesta del servidor) // petición 4 se ha completado (servidor de respuesta de acceso lata y usarlo) xhr.onreadystatechange =function () { IF (xhr.readyState == . 4 ) { // el servidor en respuesta a la final de la // pueden encontrar determinación necesidad 404 500 SI (xhr.status == 200 es ) { //
// Obtener el lapso etiqueta var nameTipMsg = document.getElementById ( " nameTipMsg " ); // devuelve el texto al lapso
nameTipMsg.innerText = xhr.responseText; // var S = xhr.responseText; } la más { } } } // Cuando el objeto de botón registró un clic del ratón evento se produce cuando el clic del ratón sobre un botón ejecutará la función de devolución de llamada // myBtn.onclick = function () {} // 3. xhr.open ( " GET " , " checkusername.do?username= " + nombre de usuario, a verdadero ); // petición de canal abierto sólo no se transmite @ 4 transmite AJAX solicitud xhr.send (); } </ script> username: <input type = " texto " name = " nombre de usuario " onblur = "checkUsername (this.value); "/> <Span id = " nameTipMsg " style = " font-size: 12px; " > </ Span> <br> 密码: <input type = " password " name = " contraseña " > serlvet 3.0 @WebServlet (nombre = " CheckUsernameAction "URLpatterns = " /checkusername.do " ) pública clase CheckUsernameAction extiende HttpServlet { @ Override protegida vacío doGet (HttpServletRequest req,HttpServletResponse respectivamente) tiros ServletException, IOException { resp.sendRedirect ( " text / html; charset = UTF-8. " ); el PrintStream OUT = resp.getWriter (); // obtener el nombre de usuario String = req.getParameter nombre de usuario ( " nombre de usuario " ); // conexión a la base de datos para autenticar el nombre de usuario si hay iF ( " ADMIN " .equals (nombre de usuario)) { // nombre de usuario no está disponible OUT .print ( " <font color = 'rojo'> nombre de usuario se ha registrado </ font> " ); } else{ OUT .print ( " <font color = 'verde'> nombre de usuario se puede registrar </ font> "); } // información de respuesta al navegador } }