ajax-----login

ajax说简单点就是XMLHttpRequet对象(XHR),在使用前必须用JavaScript创建一个XMLHttpRequest对象;
因为XMLHttpRequest不是一个W3C标准;所以不同的浏览器内实现的方法也不一样?

创建XMLHttpRequest对象一个实例;
js 代码
 
  1. var xmlHttp  
  2.   
  3. function createXMLHttpRequest(){  
  4.     if (window.ActiveXOBbject){  
  5.           xmlHtto = new ActiveXObject("Microsoft.XMLHTTP");  
  6.     }  
  7.     alse if (window.XMLHttpRequest){  
  8.           xmlHttp = new XMLHttpRequest();  
  9.      }  
  10. }  

XMLHttpRequest典型方法:
abort()-----------------------------------------停止当前请求;
getAllResponseHeaders()-----------------把HTTP请求的所有相应首部作为键/值对返回
getResponseHeader("header")----------返回指定首部的串值
open("method","url","true")----------------建立对服务器的调用,method可以是get,post或put,url参数可以是相对url或绝对url.true表示使用异步请求,flase这为同步;
send(content)--------------------------------向服务器发送请求;
setRequestHeader("header","value")---把指定首部设置为所提供的值,在设置任何首部之间必须先调用open();

XMLHttpRequest属性:
onreadystatechange-----------------------每个状态改变时都会触发这个事件处理器,通常会调用一个javascript函数;
readyState-----------------------------------请求的状态.有5个可取值:0 = 未初始化,1 = 正在加载,2 = 已加载,3 = 交互中,4 = 完成
responseText--------------------------------服务器的响应,表示为一串
responseXML--------------------------------服务器的响应,表示为XML.这个对象可以解析为一个DOM对象;
status------------------------------------------服务器的HTTP状态码(200对应OK,404对应Not Found,等等)
stausText-------------------------------------HTTP状态码的相应文本(OK或Not Found,等等)

login用到的ajax

js 代码
 
  1. function loginI(){  
  2.     var userName=document.getElementById("userName").value;  
  3.     var password=document.getElementById("password").value;  
  4.     var loading=document.getElementById("loading");  
  5.      
  6.     if(userName==""){  
  7.         alert("请输入用户名");  
  8.         return ;  
  9.     }  
  10.     if(password==""){  
  11.         alert("请输入密码");  
  12.         return ;  
  13.     }  
  14.     var ajax=null;  
  15.     try{  
  16.         ajax=new ActiveXObject("Msxml2.XMLHTTP");  
  17.     }catch(e){  
  18.         try{  
  19.             ajax=new ActiveXObject("Microsoft.XMLHTTP");  
  20.         }catch(e){  
  21.             ajax=null;  
  22.         }  
  23.     }  
  24.      
  25.     if (ajax==null && typeof XMLHttpRequest!='undefined') {  
  26.         ajax = new XMLHttpRequest();  
  27.     }  
  28.     var req="./login.action?userName="+userName+"&password="+password;  
  29.     var temp=loading.innerHTML;  
  30.     loading.innerHTML='用户名密码核对中...';  
  31.     ajax.onreadystatechange=function(){  
  32.             if(ajax.readyState==4){  
  33.                 loading.innerHTML="";  
  34.                 var authInfo=ajax.responseText;  
  35.              
  36.                 switch(authInfo){  
  37.                     case "nouser":  
  38.                         loading.innerHTML=temp;  
  39.                          
  40.                         alert("无此用户,请检查后重新输入");  
  41.                         break;  
  42.                     case "userlock":  
  43.                         loading.innerHTML=temp;  
  44.                          
  45.                         alert("账号已锁定,请通过电子邮件激活帐号");  
  46.                         break;  
  47.                     case "passerror":  
  48.                         loading.innerHTML=temp;  
  49.                          
  50.                         alert("密码错误,连续错5次,帐号将被锁定!");  
  51.                         break;  
  52.                     case "success":  
  53.                         location.reload();  
  54.                         break;  
  55.                     case "checking":  
  56.                         loading.innerHTML="您的申请仍在审核中,请耐心等待。";  
  57.                          
  58.                         break;  
  59.                     case "pass":  
  60.                          
  61.                         var tmpArray = location.href.split("?");  
  62.                         if (tmpArray.length==2)    {  
  63.                              
  64.                             window.location.href=decodeURIComponent(tmpArray[1]);}  
  65.                         else  
  66.                             location.reload();  
  67.                         break;  
  68.                     case "refuse":  
  69.                         loading.innerHTML="很抱歉,您的申请未通过审核";  
  70.                         break;  
  71.                     case "unspreader":  
  72.                      
  73.                         loading.innerHTML="您还不是推广员,我们期待您的加入";  
  74.                         break;  
  75.                     case "maxfail":  
  76.                         loading.innerHTML=temp;  
  77.                          
  78.                         alert("密码多次输错,帐户已被锁定,请通过电子邮件激活帐号");  
  79.                         break;  
  80.                     default:  
  81.                         loading.innerHTML=temp;  
  82.                          
  83.                         alert("暂时无法登录,请稍候再试")  
  84.                         break;  
  85.                 }  
  86.             }  
  87.         }  
  88.          
  89.     ajax.open("POST",req,true);  
  90.     ajax.send("");  
  91. }  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值