`

Ajax介绍(用户注册验证)

 
阅读更多
Ajax,检查用户名是否存在
          

Ajax作用:
Asynchronous JavaScript and XML(异步JavaScript和XML)
异步的主要是刷新一个层

Ajax里的onreadystatechange是做什么用的

发送一个请求后,客户端无法确定什么时候会完成这个请求,所以需要用事件机制来捕获请求的状态,XMLHttpRequest对象提供了onreadyStateChange事件实现这一功能。这类似于回调函数的做法。 onreadyStateChange事件可指定一个事件处理函数来处理XMLHttpRequest对象的执行结果,

onreadyStateChange事件是在readyState属性发生改变时触发的,readyState的值表示了当前请求的状态,在事件处理程 序中可以根据这个值来进行不同的处理。 readyState有五种可取值0:尚未初始化,1:正在加载,2:加载完毕,3:正在处理;4:处理完毕。一旦readyState属性的值变成了 4,就可以从服务器返回的响应数据进行访问了。 通常在事件中判断readyState的值是在请求完毕时才做处理,

Http状态码 含义 200 请求成功 202 请求被接受但处理未完成 400 错误请求 404 请求资源未找到 500 内部服务器错误




source code:

1.addTeam.jsp 
<%@ page language="java" contentType="text/html; charset=gbk" pageEncoding="gbk"%>
<%
String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + request.getContextPath() + "/";
%>
<%@ taglib prefix ="s" uri="/struts-tags"%> 
<html>
<head>
<base href="<%=basePath%>">
<meta http-equiv="Content-Type" content="text/html; charset=gbk">
<title>增加小组</title>
<link rel="stylesheet" type="text/css" href="./css/team.css" />
<script type="text/javascript" src="./js/trim.js"></script>
<script type="text/javascript">
var xmlHttp;

function createXMLHttpRequest() {
	if(window.ActiveXObject) {
		xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
	}
	else if(window.XMLHttpRequest) {
		xmlHttp = new XMLHttpRequest();
	}
}

function startRequest() {
	//创建请求对象
	createXMLHttpRequest();
	//为事件readystatechange绑定函数handleStateChange
	xmlHttp.onreadystatechange = handleStateChange;
	//打开访问的地址
	xmlHttp.open("Post","team/TeamNameCheck",true);
	xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
	//发送请求
	xmlHttp.send("team.name=" + teamForm.elements["team.name"].value);
}

function handleStateChange() {
	if(xmlHttp.readyState == 4) {
		if(xmlHttp.status == 200) {
			document.getElementById("namecheck").innerHTML = xmlHttp.responseText;
		}
	}
}



function checkTeam() {
	if(trim(teamForm.elements["team.name"].value) == "") {
		alert("请填写组名!");
		return false;
	}
	if(trim(teamForm.elements["team.leader"].value) == "") {
		alert("请填写组长!");
		return false;
	}
	if(trim(teamForm.elements["team.slogan"].value) == "") {
		alert("请填写口号!");
		return false;
	}
	
	return true;
}
</script>
</head>
<body>
<div id="top">
<h1>增加小组</h1>
</div>

<div id="content">
<form name="teamForm" action="team/AddTeam" method="post" onsubmit="return checkTeam();">
<p>组名:<input type="text" name="team.name" onblur="startRequest()"><span id="namecheck"></span>
<p>组长:<input type="text" name="team.leader">
<p>口号:<input type="text" name="team.slogan">
<p><input type="submit" value="确定">
<input type="reset" value="重填">
</form>
<p><s:fielderror></s:fielderror></p>
<p><a href="./team/index.jsp">返回小组管理</a>
</div>

</body>
</html>






2.struts.xml文件里面配置解决中文乱码:
<constant name="struts.i18n.encoding" value="UTF-8"></constant>

假如是“UTF-8”以外的其他编码如gbk,都会在action里面接收的name都是乱码,因为var xmlHttp;对象默认提交的编码就是utf-8



3.struts.xml配置文件(没有result):
<actionname="TeamNameCheck" class="com.org.momo.action.team.TeamNameCheckAction">
</action>

TeamNameCheckAction.java

  package com.org.momo.action.team;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.List;

import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;

import org.apache.struts2.ServletActionContext;

import com.opensymphony.xwork2.ActionSupport;
import com.org.momo.bean.Team;
import com.org.momo.service.TeamService;

public class TeamNameCheckAction extends ActionSupport{
    private Team team ;
    @Resource
    private TeamService teamService ;
    private List<Team> teams ;
    
    public List<Team> getTeams(){
    	return teams ;
    }
    public void setTeams(List<Team> teams){
    	this.teams = teams ;
    }
    public Team getTeam(){
    	return team ;
    }
    public void setTeam(Team team){
    	this.team = team ;
    }
    
    public String execute(){
    	HttpServletResponse response = ServletActionContext.getResponse() ;
    	response.setContentType("text/html;charset=gbk") ;
    	try{
    		 String str ="<font color='red' font='4'> * 该组名可以使用!</font>" ;
    		 String teamName = team.getName(); 
    		 PrintWriter out = response.getWriter() ;
    		 teams = teamService.getTeams() ;
    		 for(Team team:teams){
    			 if(teamName.equals(team.getName())){
    				 str ="<font color='red' font='4'> * 组名已存在,请重新输入!</font>" ;
    				 break ;
    			 }
    		 }
    		 out.print(str) ;
    	}catch(Exception e){
    		e.printStackTrace() ;
    	}
    	return null ;   //返回结果不是”success” 也不是 ”error”
    }
}
  













                          
分享到:
评论

相关推荐

    用户注册表单验证(Ajax验证)

    总的来说,Ajax验证是提升用户注册表单体验的有效手段,它结合了前端和后端的能力,实现了数据验证的无缝集成,既保证了数据的准确性,又提供了流畅的用户体验。在实际开发中,还需要考虑兼容性、安全性(防止XSS和...

    ajax实现用户登录注册

    本教程将深入讲解如何使用AJAX实现用户登录和注册功能,这对于初学者来说是一个很好的起点。 首先,我们需要理解AJAX的基本结构。一个基本的AJAX调用通常涉及以下步骤: 1. 创建XMLHttpRequest对象:这是AJAX的...

    JS+Ajax实现用户注册验证

    下面我们将详细探讨如何利用JS和Ajax实现用户注册验证。 首先,我们需要在HTML页面上设置一个注册表单,包括用户名、密码、邮箱等输入字段,以及一个提交按钮。每个输入字段可以通过`&lt;input&gt;`标签定义,并使用`id`...

    Ajax实现用户注册

    在“Ajax实现用户注册”的主题中,我们将深入探讨如何利用Ajax技术构建一个实时验证用户注册信息的系统,从而提高用户体验,减少不必要的页面刷新。 首先,Ajax的核心原理是通过JavaScript在后台与服务器进行异步...

    Ajax用户注册验证

    综上所述,"Ajax用户注册验证"涉及的技术点包括前端的Ajax交互、数据验证、用户体验设计,以及后端的接口设计与安全性考量。通过这一系列步骤,我们可以构建一个高效、安全且用户体验良好的注册流程。

    Ajax+jsp注册验证用户

    在这个"Ajax+jsp注册验证用户"的示例中,我们将深入探讨如何利用这两种技术来创建一个实时验证用户注册信息的系统。 首先,Ajax的核心在于其异步特性,它允许Web应用程序在不刷新整个页面的情况下与服务器进行通信...

    asp版ajax用户注册 ajax 注册程序 asp版 ajax

    【ASP版AJAX用户注册】是一个使用Active Server Pages(ASP)技术结合Ajax(Asynchronous JavaScript and XML)实现的用户注册程序。Ajax的核心在于通过JavaScript在客户端与服务器端进行异步数据交互,无需刷新整个...

    ajax验证用户注册

    "Ajax验证用户注册"是提升这种体验的一种常见技术,它使得用户在填写注册信息时无需等待页面刷新就能得到反馈,从而提高了交互性和效率。Ajax(Asynchronous JavaScript and XML)的核心是利用JavaScript进行异步...

    ajax+php 用户注册,登陆验证

    在这个项目中,我们主要探讨如何利用AJAX进行前端验证,以及PHP进行后端处理,以实现用户注册和登录的有效验证。 首先,AJAX允许我们在不刷新整个页面的情况下与服务器交换数据并更新部分网页内容。通过JavaScript...

    ASP.NET AJAX控件验证用户注册是否重复

    综上所述,通过ASP.NET AJAX控件的合理运用,我们可以构建一个高效、用户友好的注册系统,实现异步验证用户注册时的用户名重复问题。这不仅可以提升应用的性能,还能为用户提供更为流畅的操作体验。

    Ajax实现用户注册模块

    在本文中,我们将深入探讨如何使用Ajax技术来实现一个用户注册模块。Ajax,即Asynchronous JavaScript and XML(异步JavaScript和XML),允许我们在不刷新整个网页的情况下与服务器进行交互,从而提供更流畅、更快捷...

    AJAX实现注册验证的例子

    **标题解析:** "AJAX实现注册验证的例子" 这个标题表明了我们要探讨的是一个使用AJAX技术来实现用户注册时的实时验证的示例。在网页应用中,AJAX(Asynchronous JavaScript and XML)允许我们在不刷新整个页面的...

    JQ asp.net ajax 用户注册

    总结来说,“JQ asp.net ajax 用户注册”项目涵盖了前端交互、后端处理、数据库操作和用户验证等多个关键知识点,是一个实用的示例,有助于开发者理解如何构建用户注册功能。通过学习和实践,开发者可以提升在网页...

    ajax注册验证表单

    综上所述,"ajax注册验证表单"是一个结合了前端JavaScript交互、Ajax技术以及可能的第三方库的综合实例,它展示了如何通过异步方式处理用户注册,实现无刷新的验证反馈,提升了用户体验。在实际开发中,我们还需要...

    ajax用户注册无刷新验证.net源码

    在这个"ajax用户注册无刷新验证.net源码"项目中,我们将深入探讨如何使用Ajax技术与.NET框架结合,实现在用户注册过程中进行实时、无刷新的验证。 1. **Ajax基础**: Ajax的核心是JavaScript,它通过创建...

    带注册验证的AJAX验证表单实例

    综上所述,"带注册验证的AJAX验证表单实例"整合了前端与后端验证技术,提供了一种高效、安全的用户注册流程。通过AJAX,我们实现了无刷新验证;通过JavaScript,我们提供了即时反馈;通过验证码,我们提升了安全性;...

    Ajax jQuery thinkPHP 登录注册验证

    "Ajax jQuery thinkPHP 登录注册验证"是一个典型的Web开发技术结合实例,它利用了Ajax、jQuery和thinkPHP框架来实现用户登录和注册过程中的实时验证,提高用户体验。下面我们将详细探讨这些技术及其在项目中的应用。...

    struts2+spring+ibatis+jquery ajax的登陆注册实时验证

    在登录注册系统中,jQuery AJAX使得前端能够异步与服务器进行数据交换,实现用户输入的实时验证。例如,用户输入用户名时,可以立即发送AJAX请求,检查该用户名是否已存在,从而提供即时反馈,提升用户体验。 在...

    Ajax注册验证用户名实例

    在这个"Ajax注册验证用户名实例"中,我们将深入探讨如何利用Ajax技术来实现用户在注册时实时验证用户名是否已存在,从而提供更优秀的用户体验。 首先,我们需要一个HTML页面作为用户界面,包含一个输入框让用户输入...

    ajax 验证用户登录

    "Ajax 验证用户登录"是这种技术的一个常见应用场景,尤其在用户注册、登录等场景下广泛使用。本文将深入探讨Ajax验证用户登录的原理、实现方式以及其优点。 首先,Ajax的核心理念是异步通信,即浏览器在不重新加载...

Global site tag (gtag.js) - Google Analytics