Action:javascript
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:html
<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:java
<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這塊要夠嗆了ajax