最近在写asp登陆页面的时候发现了一些问题!当用用户登陆成功,我想保留用户的登陆状态(我使用的是cookie)。通过设置cookie的Expires属性来保存它的生命周期!我是使用js脚本写的
代码如下:<
var username=Request.Form("username");//从注册页面获取的信息
Response.cookies("beifeng")("username")=username;
Response.cookies("beifeng")("username").Expires=new Date().getMinutes()+60*24;//在这里我想将cookies保存一天,但是报错,我已经声明,用的是js脚本!
>报错如下:为“Expires”指定的日期早于 1980 年 1 月 1 日,或晚于 2038 年 1 月19 日,3:14:07 GMT

解决方案 »

  1.   

    貌似Expires存的是过期的时间点而不是时长吧
      

  2.   

    这是JS的写法,后台asp怎么写不知道,不过道理是一样的,expires指的是一个日期,不是时长
    var d = new Date();
    d.setTime(d.getTime() + 24 * 60 * 60);
    document.cookie = 'username=lz;expires=' + d.toGMTString();
      

  3.   

    if(timeout==1){
    Response.Cookies("beifeng")("username")=username;Response.End();
    }else
            if(timeout==2){
    var thedate=new Date();
    thedate.setDate(thedate.getDate()+1);
    Response.Cookies("beifeng")("username")=username;
    Response.Cookies("beifeng").Expires=thedate.toUTCString();
    Response.End();}
    else
            if(timeout==3){
    var thedate=new Date();
    thedate.setDate(thedate.getDate()+7);
    Response.Cookies("beifeng")("username")=username;
    Response.Cookies("beifeng").Expires=thedate.toUTCString()
                     }
    根据timeout的值不同选择cookie的值保存不同的时间,但是依然类型不匹配!
      

  4.   

    不好意思没有说清楚,是Response.Cookies("beifeng").Expires=thedate.toUTCString()这句话类型不匹配,但我就不明白了,Expires要求的是什么类型,为什么总是说类型不匹配!
      

  5.   

    document.cookie="name=test;max-age="+24*3600*1000试试
      

  6.   


    /*
     *设置Cookie 
     *
     * name:cookie所对应的键
     * value:cookie所对应的值
     * expires:cookie所对应的有效时间
     * path:指定可访问cookie的路径
     * domain:指定可访问cookie的主机名
     * secure:安全性
     */
    function setCookie (name,value,expires,path,domain,secure) {    
        //cookie键值对 
        var str = name + "=" + escape(value);
        //设置cookie的有效期,以小时为单位
        if(expires > 0){                               
            var date = new Date();
            var ms = expires * 3600 * 1000;
            date.setTime(date.getTime() + ms);
            str += "; expires=" + date.toGMTString();
        }
        if(path){
            str += "; path=" + path;
        }
        if(domain){
            str += "; domain=" + domain;
        }
        if(secure){
            str += "; secure";
        }
        document.cookie = str;
    }
    /*
     *获得Cookie 
     *
     *cookie_name:cookie的键
     */
    function getCookie(cookie_name)  
    {     
        var value = null;
        var allcookies = document.cookie;  
        var cookie_pos = allcookies.indexOf(cookie_name);  
        // 如果找到了索引,就代表cookie存在,  
        // 反之,就说明不存在。  
        if (cookie_pos != -1)  
        {  
            // 把cookie_pos放在值的开始,只要给值加1即可。  
            cookie_pos += cookie_name.length + 1;  
            var cookie_end = allcookies.indexOf(";", cookie_pos);  
            if (cookie_end == -1)  
            {   
                cookie_end = allcookies.length;  
            }  
            value = unescape(allcookies.substring(cookie_pos, cookie_end));  
        }  
        return value;  

    /*
     *删除Cookie 
     *
     *cookie_name:cookie的键
     */
    function delCookie(cookie_name)
    {
        var exp = new Date();
        exp.setTime(exp.getTime() - 1);
        var value = getCookie(cookie_name);
        if(value){
            document.cookie= cookie_name + "=" + value + ";expires=" + exp.toGMTString();
        }
    }这是我自己总结的js对Cookie的操作,希望对楼主有所帮助!