本人有一段js清除cookie的代码如下://清除用户cookie
function loingout() {
//        var date = new Date();
//        date.setTime(date.getTime() - 1);
//            document.cookie = "LoginName" + "=; expires=" + date.toGMTString();
        var name="Login";
        var exp = new Date();
        exp.setTime(exp.getTime() - 1);
        var cval=GetAsaiCookie(name);
        document.cookie = name + "=" + cval + ";expires=" + exp.toGMTString();
        window.location.href = "/index.html";
}//读取cookies
function GetAsaiCookie(name) {
    var arr, reg = new RegExp("(^| )" + name + "=([^;]*)(;|$)");
    if (arr = document.cookie.match(reg)) return unescape(arr[2]);
    else return null;
}说明下在跳转到首页之前弹出的cookie是有的,现在我就是想清除这个登陆的cookie,但是在以及目录下是正常的,可以正常的清除,放入其他目录下调用这个方法就不行了,请帮忙看下是怎么会事情。以及目录的路径是http://localhost:8746/index.html,其他目录的路径是:http://localhost:8746/users/mymanagebaseinfo.html,我最开始怀疑是不是其他地方的js把这影响了,但是我去掉了其他所有的js同样出现类似的问题,求助啊。顺便说明下,我前台使用的.net写的程序

解决方案 »

  1.   

    我有点怀疑是 expires设置过期时间不正确导致的,但是却不知道为什么,麻烦有遇到的朋友说下的,再次感激不尽。
      

  2.   


    //清除用户cookie
    function loingout() {
    //        var date = new Date();
    //        date.setTime(date.getTime() - 1);
    //            document.cookie = "LoginName" + "=; expires=" + date.toGMTString();
            var name="Login";
            var exp = new Date();
            exp.setTime(exp.getTime() - 1);
            var cval=GetAsaiCookie(name);
            document.cookie = name + "=null;expires=" + exp.toGMTString();
            //window.location.href = "/index.html";
            var cval = GetAsaiCookie(name);
            alert(cval);
    }
    我用这段代码测试发现在2个目录下弹出的的cookie的值显然不一样,就是说在 document.cookie = name + "=null;expires=" + exp.toGMTString(); 设置的时候出现了问题,一级目录下弹出的是null,而在其他目录下还是弹出的以前的cookie值.
      

  3.   

    在补充一点 我用URL重写,比如把 /MyManage/MyManageBaseInfo.aspx路径重写为 mymanagebaseinfo.html路径这样可以进行cookie的清除,但是我就是想不明白这个js跟url的深度有什么关系,郁闷了一下午..
      

  4.   

    http://www.cnblogs.com/Darren_code/archive/2011/11/24/Cookie.html
    楼主参考下主要是这个Cookie 高级篇一.cookie 路径概念