AJAX是一种脚本语言,即Asynchronous JavaScript And XML,是Google2005年开发的一种编程模式,用于更好更快捷以及交互性更强web应用程序开发技术,通过AJAX可以使用XMLHttpRequest对象直接与服务器进行通信,页面可在不重新加载页面的情况下与web服务器交换数据。
AJAX对象XMLHTTPRequest对象属性:
open():建立到服务器的请求
send():向服务器发送请求
abort():退出当前请求
readyState():提供当前HTML的就绪状态
readyState()返回的值:
0:请求未初始化
1:请求已经建立
2:请求已发送
3:请求在处理
4:响应完成
responseText():服务器返回相应内容文本
接下来是一个简单的例子:
Regedit.html
<html>
<body>
<script language="JavaScript" type="text/javascript">
var req = null;
function test() {
//初始化
var code = document.all.code.value;
var name = document.all.name.value;
req = new XMLHttpRequest();
//设置属性,当后台处理完成后,回来调用myDeal方法。
//发出请求
var url = "AJAXServlet?action="+code;
req.open("GET", url, true);
req.onreadystatechange = myDeal;
req.send(null);
}
function myDeal() {
if (req.readyState == 4) {
//接收服务端返回的数据
var ret = req.responseText;
//处理数据
document.all("myDiv").innerHTML = ret;
}
}
</script>
用户注册:<br>
用户编号:<input type="text" name="code" οnblur="test();">* <div id="myDiv" name="myDiv"></div><br>
用户名称:<input type="text" name="name"><br>
<input type="submit" value="注册" οnclick="test();">
</body>
</html>
AJAXServlet.java
package test;
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;
/**
* Servlet implementation class AJAXServlet
*/
public class AJAXServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public AJAXServlet() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse
* response)
*/
protected void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
PrintWriter out = response.getWriter();
String action = request.getParameter("action");
StringBuffer sb = new StringBuffer();
if (action == null || action.trim().length() == 0) {
sb.append("code can't be null or empty");
} else if (action != null && action.equals("admin")) {
sb.append("code can't be admin");
} else {
sb.append("OK");
}
out.write(sb.toString());
out.close();
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse
* response)
*/
protected void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
}
}
AJAX是一种脚本语言,即Asynchronous JavaScript And XML,是Google2005年开发的一种编程模式,用于更好更快捷以及交互性更强web应用程序开发技术,通过AJAX可以使用XMLHttpRequest对象直接与服务器进行通信,页面可在不重新加载页面的情况下与web服务器交换数据。