使用cookie获取之前访问的记录

img

img
使用cookie获取之前访问的记录
使用cookie判断,代码思路总是卡住,毫无头绪,就连之前写过的练习也是,再留下新的人物 ,还要去看练习写,带式看别人的代码就知道怎么回事。哎

靓仔,向后端发送请求时会携带一个cookie(有效期内)的,你就可以在后台通过这个cookie拿到你之前存入的信息来判断是否是同一个cookie


  • cookie没搞过,里面放认证信息的,你在放访问记录的话,会不会污染cookie对象?允许的话,不一定非要用cookie,建议放到Local Storage 或者用本地数据库SQLLite和IndexedDB试试,方便,数据单一。
  • 这个是一个cookie使用的Demo,可以参考下

<!DOCTYPE html PUBLIC ""-//W3C//DTD XHTML 1.0 Transitional//EN"" 
    ""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"">
<html xmlns=""http://www.w3.org/1999/xhtml"">
  <head>
    <meta http-equiv=""Content-Type"" content=""text/html; charset=utf-8"" />
    <title>cookie的用法</title>
   
  </head>
  <body onload=""loadCookie('register')"">
    <form name=""myform"">
        用户名:<input type=""text"" name=""userName"" id="""" /><br/>
        密 码:<input type=""password"" name=""userPwd"" id=""""/><br/>
        保存时间:<select name=""saveTime"">
            <option value=""1"">一天</option>
            <option value=""7"">一周</option>
            <option value=""30"">一月</option>
            <option value=""-1"">-不保存-</option>
        </select><br/>        
        <input type=""button"" value=""注册测试"" onclick=""saveCookie('register')""/>
        <input type=""button"" value=""加载注册信息"" onclick=""loadCookie('register')""/><br/>
        <input type=""button"" value=""登录测试"" onclick=""saveCookie('login')""/>
        <input type=""button"" value=""加载登录信息"" onclick=""loadCookie('login')""/><br/>
    </form>
    <div id=""cookieDiv"">cookie信息显示位置</div>
    <script type=""text/javascript"">
        //cookie信息直接的分隔符(自行指定的分隔符)
        var cookieSplit=""@"";
        //保存cookie信息
        function saveCookie(cookieName){
            var userName=document.forms[0].userName.value;
            var userPwd=document.forms[0].userPwd.value;
            var saveTime=document.forms[0].saveTime.value;
            var expireDate=new Date();
            if(saveTime!=""-1""){
                expireDate.setDate(expireDate.getDate()+saveTime);
            }
            document.cookie = cookieSplit+cookieName+""=""+escape(userName)+"",""+escape(userPwd)
                +"";expires=""+expireDate.toGMTString();
            loadCookie(cookieName);
        }
        //加载cookie信息
        function loadCookie(cookieName){
            //获得页面的cookie信息
            var currentCookie=document.cookie;
            //cookie的开始部分
            var beginPart=cookieSplit+cookieName+""="";
            //cookie数据部分的开始位置
            var startPosition=currentCookie.indexOf(beginPart);
            //cookie的关键数据部分
            var cookieData="""";
            //没有找到相关的cookie
            if(startPosition==-1){
                document.forms[0].userName.value="""";
                document.forms[0].userPwd.value=""""
            }else{
                //cookie数据部分的结束位置
                var endPosition=currentCookie.indexOf("";"",startPosition);
                //当前cookie为cookie集合中的最后一个时(没有找到分号;)
                if(endPosition==-1){
                    endPosition=currentCookie.length;
                }
                cookieData=currentCookie.substring(startPosition+(beginPart).length,endPosition);
                //对cookie数据进行分割
                var datas=cookieData.split("","");
                document.forms[0].userName.value=unescape(datas[0]);
                document.forms[0].userPwd.value=unescape(datas[1]);
            }            
            document.getElementById(""cookieDiv"").innerHTML=
                ""所有的cookie信息:""+(document.cookie==""""?""<font color='red'>暂无cookie信息</font>"":document.cookie);        
        }
    </script>
   </body>
</html>