为了账号安全,请及时绑定邮箱和手机立即绑定

设置cookie后显示undefined,在Application找不到设置的cookie,求指点T_T

var Cookie={

set: function(key,val,expiresDays) {

//判断是否设置了expiresDays

if(expiresDays){

var date = new Date();//设置参数date的值为今天的时间

//格式化时间

/*setTime() 向默认时间(1970/01/01),

添加毫秒数(在括号内),并刷新显示新的日期和时间*/


/*date.getTime() 返回date指定的日期和时间距离(1970/01/01)

之间的毫秒数*/

date.setTime(date.getTime()+expiresDays*24*60*60*1000);//现在date就是新的日期格式表示的时间

//toGMTString() 方法可根据格林威治时间 (GMT) 把 Date 对象转换为字符串,并返回结果。

var expiresStr = "expires="+date.toGMTString()+';';

}else{

var expiresStr='';

}

//该属性是一个可读可写的字符串,可使用该属性对当前文档的 cookie 进行读取、创建、修改和删除操作。

//现在是进行创建操作

//重新定义了cookie 的三个数值

document.Cookie = key+'='+escape(val)+';'+expiresStr;

},

get: function(key){

//将cookie中的空格全部换成空,/g表示全局替换

var getcookie = document.cookie.replace(/[ ]/g,'');

// 将cookie的值以';'来拆分数组保存在res 中

var resarr = getcookie.split(';');

var res ;

for (var i = 0,len=resarr.length; i < len; i++) {

//设置一个值arr,arr的值为数组resarr中下标i的值

//并且以等号拆分开来数组

var arr = resarr[i].split('=');

//如果下标0(也就是拆分开的第一个值,也就是数组的key)和要寻找的key一样

if (arr[0]==key) {

//那么字符串res就是下标1(也就是拆分出来后的值)的值

res = arr[1];

break;//已经找到了,结束并退出循环

}

}

return unescape(res);//返回之前已经编码了的

}


};

以上是我的代码...研究一整天了,要抓狂

正在回答

1 回答

设置cookie的时候 控制台输入的内容也是严格区分大小写的,你试试Cookie.set('username','king',5);

0 回复 有任何疑惑可以回复我~
#1

c初见

我的代码和你的一样,可以正常使用的,可能就是控制台那里错了
2019-06-19 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

设置cookie后显示undefined,在Application找不到设置的cookie,求指点T_T

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信