AJAX,异部javascript和xml,是一种快速创建动态网页的技术,在不提交整个表单的请提下,去局部的刷新某一块领域,对网页的某一部分进行刷新,举个很简单的例子
来说,当我们在注册用户的时候,通常在输入用户名的时候,如果你输入的是已经存在的用户名,则当你focus out的时候,马上就提示你该用户名已经存在了,这个就是局部刷新,
还没有提交整个页面到后台的时候,首先进入后台去验证,使用AJAX技术,可以大大提高程序的性能,下面就已用户注册简单的介绍下ajax的使用:
// js块
function checkUserId(userId) {
var xmlhttp;
// 不同的浏览器使用不同的方法来创建XMLHttpRequest
if (window.XMLHttpRequest) {
xmlhttp = new XMLHttpRequest();
} else {
// IE5,IE6
xmlhttp = new ActionveXObject("Microsoft.XMLHTTP");
}
//创建一个Http请求
xmlHttp.open("post","UserCheckServlet?account="+account, true);
// 每次readyState属性改变的时候,调用的函数,readyState的值有四个,所以会被调用四次
xmlhttp.onreadystatechange = function () {
// 4表示http请求的状态码:请求在服务端已执行,相应已就绪、开始,200表示http相应的状态码:表示相应成功
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
// 接收以普通文本返回的数据,responseTest表示的是从服务器收到的相应体,如果还没有接收到数据的话,就是一个空字符串
var text = xmlhttp.responseTest;
// 用户id已注册
if (text == "true") {
document.getElementById("msg").innerHTML = "该账号已注册!";
// 该用户还没注册
} else {
document.getElementById("msg").innerHTML = "该账号可用";
}
xmlhtt.send();
}
jsp部分:只给出部分
账号<input type="text" name="account" size="20" οnblur="checkUserId(this.value)"/><font color="red"><span id="msg"></span></font>
来说,当我们在注册用户的时候,通常在输入用户名的时候,如果你输入的是已经存在的用户名,则当你focus out的时候,马上就提示你该用户名已经存在了,这个就是局部刷新,
还没有提交整个页面到后台的时候,首先进入后台去验证,使用AJAX技术,可以大大提高程序的性能,下面就已用户注册简单的介绍下ajax的使用:
// js块
function checkUserId(userId) {
var xmlhttp;
// 不同的浏览器使用不同的方法来创建XMLHttpRequest
if (window.XMLHttpRequest) {
xmlhttp = new XMLHttpRequest();
} else {
// IE5,IE6
xmlhttp = new ActionveXObject("Microsoft.XMLHTTP");
}
//创建一个Http请求
xmlHttp.open("post","UserCheckServlet?account="+account, true);
// 每次readyState属性改变的时候,调用的函数,readyState的值有四个,所以会被调用四次
xmlhttp.onreadystatechange = function () {
// 4表示http请求的状态码:请求在服务端已执行,相应已就绪、开始,200表示http相应的状态码:表示相应成功
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
// 接收以普通文本返回的数据,responseTest表示的是从服务器收到的相应体,如果还没有接收到数据的话,就是一个空字符串
var text = xmlhttp.responseTest;
// 用户id已注册
if (text == "true") {
document.getElementById("msg").innerHTML = "该账号已注册!";
// 该用户还没注册
} else {
document.getElementById("msg").innerHTML = "该账号可用";
}
}
}
// 发送个请求xmlhtt.send();
}
jsp部分:只给出部分
账号<input type="text" name="account" size="20" οnblur="checkUserId(this.value)"/><font color="red"><span id="msg"></span></font>
后台部分():
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
PrintWriter out = resp.getWriter(); //得到out对象
String path = "xxxx.jsp";
String account = req.getParameter("account");
boolean flag ;
try {
flag = UserFactory.getIUserDAOInstance().doCheck(account);
// 该用户已经被注册
if (flag == false) {
out.print("true");
// 该用户未被注册
} else if (flag == true) {
out.print("false");
req.getRequestDispatcher(path).forward(req, resp);
}
} catch (Exception e) {
e.printStackTrace();
}
}