一个关于设置cookie的问题? 财富值5

2016-10-13 23:32发布

        /*设置cookie*/         function setCookie(name,value,d){                 var date=new Date();                 date.setTime(date.getTime()+(d*24*60*60*1000));                 document.cookie=encodeURIComponent(name)+"="+encodeURIComponent(value)+";expires="+date.toGMTString();             }      /*获取cookie*/     function getCookie(name){         var list=document.cookie.split(";");         for(var i=0;i<list.length;i++){             var item=list[i].split("=");             if(item[0]===name){                 return encodeURIComponent(item[1]);             }         }     }  setCookie("loginSuc",1,2); setCookie("followSuc",1,2); console.log(getCookie("loginSuc")); console.log(getCookie("followSuc"));  

请问这段代码的函数有什么问题?setCookie这里,第二个设置的cookie总是会获取不到,比如说上面的getCookie("followSuc")就会获取不到,但是如果你把setCookie("loginSuc",1,2);setCookie("followSuc",1,2);的先后顺序换一下,那么getCookie("loginSuc")就会获取不到了。但是在cookie里看到是有的,console一下document.cookie也是可以看得到是有的,到底是哪里出问题了?

即使设置更多的cookie,可以在浏览器里查看得到,但是除了第一个,其它的无法通过getCookie得到。是不是getCookie函数哪里有问题?

有朋友提到应该要把item[0]前后的空白字符去掉....去掉果然就可以了,那其实这些空白字符是怎么出现的?好像在处理中没有引入空白字符啊.....为什么啊.....

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
1条回答

DEMO
试试这个吧,修改了一下,增加了trim()函数。楼主也可以自己debug一下代码。

一周热门 更多>