大家好,我有以下问题,请帮忙看看:    有A1,A2及B页面,前两个页面中有某个链接,都可以打开B页面,并且都往B页面上传cookie。
    从各页面传入B页面的cookie数量不等,比如,A1传1个cookie, A2传3个cookie。    如果通过A1打开B,B页面上只有1个cookie,这是我需要的;
    此时,如果不关闭A1及B,而通过A2打开B,就会将B页面重新加载一次,这时,B页面上就会有从A1传来的1个cookie + 从A2页面上来的2个cookie;
    这时,我需要的只是从A2传来的2个cookie,但从A1传来的那1个cookie仍然残留着,那么,有什么办法可以只保留A2的而删除A1的么?
    
    
谢谢!

解决方案 »

  1.   

    写入cookie时
    不设置Expires属性==============
    js清空cookie<script type="text/javascript">
    function logout(){
       document.cookie =null; 
       document.cookie = "userName"+"=;expires="+(new Date(0)).toGMTString();
       document.cookie = "proID"+"=;expires="+(new Date(0)).toGMTString();
       return true;
    }
    </script>
      

  2.   

    谢谢您的回复!
    我试过了,还是不行的。实际上,A1与A2是aspx页面,其传给B页面的cookie是通过服务端代码Response的。
    现在,我发现,如果从A2打开B时,在服务端把Response中的1个cookie(原来A1的)设置为空的话,传到B页面的就是空值(键还在);而如果不设置,则这个cookie在传到客户端时仍然残留了上次的值。
      

  3.   

    如果你非要设置一样的key,那么可以把cookie这样写;document.cookie = "key=a^value1|b^value2-value3"
      

  4.   

    document.cookie = "key=a^value1|b^value2-value3"意思是说:对于名称是"key"的cookie,它的值是"a^value1|b^value2-value3"a指的是A页面,"value1"是A页面存的cookie;b指的是B页面,"value2-value3"是B页面存的cookie,两个值用"-"连接;其中的"^","|","-"只是连接字符串的分隔符号而己。其实我先想说的是,LZ还是用两个cookie存得了,干什么非要用一个cookie存呢?