一、View端:
<input name="emal0" id="emal0" type="text" οnblur="checkEmal();" />
<div id="result" class="red"></div>
二、js端:
var xmlHttpRequest;
function checkEmal(){
try{
var name=document.getElementById("emal0").value;
xmlHttpRequest=new XMLHttpRequest();
xmlHttpRequest.open("get","emalcheck.do?emal="+name,true);
xmlHttpRequest.onreadystatechange=callback;
xmlHttpRequest.send(null);
}
catch(e){
alert(e);
}
}
function callback(){
if(xmlHttpRequest.readyState==4){
if(xmlHttpRequest.status==200){
var data = xmlHttpRequest.responseText;
document.getElementById("result").innerHTML=data;
}
}
}
三、控制器端:
@RequestMapping(value="emalcheck",method=RequestMethod.GET)
public String emalcheck(Model model,HttpServletRequest request,HttpServletResponse response,HttpSession session) throws ServiceException, Exception{
PrintWriter out = response.getWriter();
String emal=request.getParameter("emal");
List list=this.loginService.findbyEmal(emal);
if(list.size()!=0){
out.println("该邮箱用户已存在,请重新填写!");
out.flush();
out.close();
return null;
}else{
out.println("");
out.flush();
out.close();
return null;
}
}
在控制器里面一定要注意用”out.println(“”);”语句输出,才可以将结果返回到js里.即便返回值为空也要有这样的程序代码,否则页面的返回结果部分是不会有任何返回的.页面的特定位置指的是用id做好标记的位置,例如此处指的就是id为result的位置.
四、service层和业务层在此省略.