Action:
private String uname; private String upwd; @Override public String execute() throws Exception { HttpServletResponse response = ServletActionContext.getResponse(); response.setContentType("text/html;charset=utf-8"); PrintWriter out = response.getWriter(); if ("lwq".equals(uname)) { out.print("error"); } else { out.print("success"); //最后由responseText获取 } out.close(); return null; }
JSP:
<form action="<%=basePath%>login.action"> <p> <input type="text" name="uname" id="uname" onblur="checkName(this.value)"> </p> <p> <input type="text" name="upwd" id="upwd"> </p> <span id="nameMessage"></span> </form>
JS AJAX:
<script type="text/javascript">
var ajax;
/* 创建XMLHttpRequest对象 */
function creatXMLHttpRequest() {
if (window.XMLHttpRequest) {
ajax = new XMLHttpRequest(); //JS第二定律
} else {
ajax = new ActiveXObject("Microsoft.XMLHTTP");
}
}
/* 到服务器检查用户是否存在 */
function checkName(uname) {
creatXMLHttpRequest(); //调用方法 初始化ajax变量
ajax.open("get", "<%=basePath%>login.action?uname=" + uname, true);
//传递三个参数 提交方法 url 是否异步请求
ajax.send(null);
ajax.onreadystatechange = callback;
}
/* 对相应结果进行处理 */
function callback() {
if(ajax.readyState==4) //状态 等于四时 表示读取完毕
{
if(ajax.status==200) //status等于200表示服务器无错
{
if(ajax.responseText=="success"){
document.getElementById("nameMessage").innerHTML="正确";
}else{
document.getElementById("nameMessage").innerHTML="已存在";
}
}
}
}
</script>
JS学的不咋好 估计Ajax这块要够呛了