问答详情
源自:2-8 通过JS操作Cookie的实现

我用js函数设置Cookie成功,但是获取不到,undefined

能获取到个别的cookie,大多数获取不到,不知道什么原因

提问者:Tony熊 2018-01-05 15:30

个回答

  • Eric_peng
    2018-10-19 12:35:34

       get: function (key) {}

    漏这个key,所以会报错 undefined 没有声明 这个key

  • 慕容77
    2018-02-05 11:39:24

    var Cookie = {
       set: function (key, val, expiresDays) {

           if (expiresDays) {
               var date = new Date();
               date.setTime(date.getTime() + expiresDays * 24 * 3600 * 1000);
               var expiresStr = "expires=" + date.toUTCString() + ':';

           } else {
               var expiresStr = '';

           }

           document.cookie = key + '=' + escape(val) + ';' + expiresStr;
       },
       get: function (key) {
           var getCookie = document.cookie.replace(/[ ]/g, '');
           var resArr = getCookie.split(';');
           var res;
           for (var i = 0, len = resArr.length; i < len; i++) {
               var arr = resArr[i].split('=');
               if (arr[0] == key) {
                   res = arr[1];
                   break;

               }


           }
           return unescape(res);
       }


    };

    试试看   toGMTString()换成date.toUTCString()

  • Tony熊
    2018-01-05 16:12:26

    获取到的是用document.cookie打印出来的第一个,其余的都获取不到!

  • Tony熊
    2018-01-05 15:53:15

    就在if(arr[0]==key)这里出现的问题,类型我都查看了,值也获取的到,就是这里判断不正确