日期:2014-05-16  浏览次数:20730 次

求救呀!!我在首页html会员登录时,使用了ajax,虽然是登录成功了,但静态页面一刷新,又要重新登录了,如何解决??
求救呀!!我在首页html会员登录时,使用了ajax,虽然是登录成功了,但静态页面一刷新,又要重新登录了,如何解决??
我知道,是要在静态中使用ajax获取在服务器上运行的session值,但具体不知道代码要如何实现?有哪个好心人可以帮助解决这个问题呀,万分感谢!

登录代码如下(下面的代码在html中运行是正常的,可以无刷新登录,但一刷新静态页时,又要重新登录,我是想,如果首次验证登录了,后面即时“刷新页面”也可以正常显示登录的信息,就不需要再登录了):
JScript code
function $(id){
  return document.getElementById(id);
}

function createXMLHTTP(){
  var xmlHttp=null;
  try{
    xmlHttp=new XMLHttpRequest();   } 
  catch (MSIEx){
    try{
      xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");     }
    catch (e){
      try{
        xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");       }
      catch(e){alert('您的浏览器不支持AJAX!');}
    }
  }
  return xmlHttp;
}

function chk(){
  var username=$('username').value;
  var password=$('password').value;
  
  if (username==""){
    alert("请填写用户名!");  $('username').focus(); return false;
  }
  else if (password==""){
    alert("请填写密码!");  $('password').focus(); return false;
  }

    var html
    html="<!--登录状态显示.start-->"
    html+="<!--登录状态显示.end-->"
   $('msg').innerHTML=html;
  
  //AJAX无刷新注册
  var url="login.asp?username="+username+"&password="+password+"&t="+new Date().getTime();//每个时间的缓存解决
  var x=createXMLHTTP();
  x.open('GET',url,true)
  x.onreadystatechange=function(){callback(x);} 
  x.send(null)
}

function callback(x){
  if (x.readyState==4){
    if(x.status==200||x.status==0){
      var s=x.responseText;
      if(s.length>0&&s=="YES"){
        $('login').style.display="none";//隐藏注册DIV     
        $('msg').style.display="block";//显示信息DIV
      }
      else{
        alert("您的帐号不存在或密码输入错误,请重新输入!!")
      }
    }
  }
}


------解决方案--------------------
发送ajax请求获取session啊,知道ajax验证怎么就不知道再用ajax请求获取session呢?

getsession.asp
VBScript code
if session("xxx")="" then
  response.write "0"
else 
 response.write "1"
end if