[学习笔记]XMLHttpRequest实现局部刷新

<html> 
<head> 
<title>TODO supply a title</title> 
<meta charset="UTF-8"> 
<meta name="viewport" content="width=device-width"> 
</head> 
<body> 
<input type="text" id="name"/> 
<input type="button" name="submit" value="验证用户名是否已经存在" οnclick="submit()"> 
<div id="message"></div> 
<script type="text/javascript"> 
var xmlhttp; 
function submit(){ 
if(window.XMLHttpRequest){ 
xmlhttp = new XMLHttpRequest(); 
if(xmlhttp.overrideMineType){ 
xmlhttp.overrideMineType("text/xml"); 

}else if (window.AciveXObject){ 
var MSXML=['MSXML2.XMLHTTP.6.0','MSXML2.XMLHTTP.5.0','MSXML2.XMLHTTP.4.0','MSXML2.XMLHTP.3.0','MSXML2.XMLHTTP','Microsoft.XMLHTTP']; 
for(var n=0;n<MSXML.length;n++){ 
try{ 
xmlhttp = new ActiveXObject(MSXML[n]); 
break; 
}catch(e){} 

}else{ 
alert("不能建立XMLHttpRequest对象"); 
return false; 

var name=document.getElementById("name").value; 
if(name == null || name == ""){ 
alert("用户名不能为空"); 

xmlhttp.open("GET","AJAX?name=" + name,true); 
xmlhttp.onreadystatechange=callback; 
xmlhttp.send(null); 

//回调函数 
function callback(){ 
//http响应已完成接收 
if(xmlhttp.readyState == 4){ 
//由服务器返回信息成功 
if(xmlhttp.status == 200){ 
var messageNode=document.getElementById("message"); 
messageNode.innerHTML=xmlhttp.responseText; 






</script> 
</body> 
</html> 
服务器端代码:

protected void processRequest(HttpServletRequest request, HttpServletResponse response) 
throws ServletException, IOException { 
response.setContentType("text/html;charset=UTF-8"); 
PrintWriter out = response.getWriter(); 
try { 
String old=request.getParameter("name"); 
if(old==null){ 
out.println("用户名不能为空"); 
}else{ 
//String name=new String(old.getBytes("ISO8859-1"),"gb2312"); 
String name=URLDecoder.decode(old,"utf-8"); 
System.out.println(name); 
if(name.equals("zhangxiao")){ 
out.println("用户名[" + name + "]已经存在,请使用其他用户名"); 
}else{ 
out.println("用户名[" + name + "]尚未存在,可以使用该用户名"); 


}finally{ 
out.close(); 

}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值