<script type="text/javascript">
var req;
function validate() {
//获取用户名的文本框
var idField = document.getElementById("userid");
//指定异步访问的url
var url = "Validate.jsp?id=" + escape(idField.value);
if(window.XMLHttpRequest) {
req = new XMLHttpRequest();
} else if (window.ActiveXObject) {
req = new ActiveXObject("Microsoft.XMLHTTP");
}
req.open("GET", url, true);
req.onreadystatechange = callback;
req.send(null);
}
function callback() {
if(req.readyState == 4) {
if(req.status == 200) {
//alert(req.responseText);
//获取服务器返回的结果,因为服务器是以xml文件的形式返回的
var msg = req.responseXML.getElementsByTagName("msg")[0];
//alert(msg);
setMsg(msg.childNodes[0].nodeValue);
}
}
}
function setMsg(msg) {
//alert(msg);
mdiv = document.getElementById("usermsg");
if(msg == "invalid") {
mdiv.innerHTML = "<font color='red'>username exists</font>";
} else {
mdiv.innerHTML = "<font color='green'>congratulations! you can use this username!</font>";
}
}
</script>
//后台的jsp
<%@ page import="java.sql.*,com.bjsxt.shopping.util.*" %>
<%
response.setContentType("text/xml");
response.setHeader("Cache-Control", "no-store"); //HTTP1.1
response.setHeader("Pragma", "no-cache"); //HTTP1.0
response.setDateHeader("Expires", 0); //prevents catching at proxy server
System.out.println(request.getParameter("id"));
String paramUserName = request.getParameter("id");
if(paramUserName != null && !"".equals(paramUserName)){
//access the db
Connection conn = DB.getConn();
String sql = "select username from user where username = ?";
PreparedStatement pstm = DB.prepare(conn,sql);
pstm.setString(1,paramUserName);
ResultSet rs = pstm.executeQuery();
if(rs.next()){
if(paramUserName.equals(rs.getString(1))){
response.getWriter().write("<msg>invalid</msg>");
}
}else {
response.getWriter().write("<msg>valid</msg>");
}
DB.close(rs);
DB.close(rs);
DB.close(pstm);
}
%>
注意:DB是一个获取连接的类