應用情境:使用者註冊時在 文本輸入框中輸入使用者名稱,在使用者輸入完之後,判斷資料庫中是否存在該使用者名稱。在這個情景下,伺服器只要簡單的返回true或者false。
Java Action中書寫:
/* * 用於Ajax */private InputStream inputStream;public InputStream getInputStream() { return inputStream;}private String name;public void setName(String name) { this.name = name;}public String validateName() throws UnsupportedEncodingException { boolean f = employeeService.isNameValidate(name); System.out.println(f); inputStream = new ByteArrayInputStream((f?"1":"0").getBytes("UTF-8")); return "ajax-success";}
Struts2.xml檔案中配置:
<result type="stream" name="ajax-success"> <param name="contentType">text/html</param> <param name="inputName">inputStream</param></result>
前端:
//發送AJAX請求var url = "emp-validateName.action";var args = {"name":val, "time":new Date()};$.post(url, args, function(data){ if(data=="1"){ $this.after("<font color='green'>名稱可用</font>"); }else if(data="0"){ $this.after("<font color='red'>名稱不可用</font>"); }else{ alert("伺服器異常"); }});