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

为什么这样读取cookie的值,得到的是undefined?

为什么这样读取cookie的值,得到的是undefined?

_Forliberty 2016-03-22 09:28:11
<script type="text/javascript"> var username = "imooc"; var userid = 85; var email = "12345678@imooc.com"; document.cookie="username="+username; document.cookie="userid="+userid; document.cookie="email="+email; function getCookie(key){ var cookieArr = document.cookie.split(";"); for(var index=0;index<cookieArr.length;index++){ var arr = cookieArr[index].split("="); if(arr[0]==key){ return unescape(arr[1]); } } } alert(getCookie("userid")); </script>当alert(getCookie("username"))的时候能够弹出imooc,但是想得到userid的值的时候却得到的是undefined。JS新手上路,希望能够得到解答。
查看完整描述

1 回答

已采纳
?
李晓健

TA贡献1036条经验 获得超461个赞

function getCookie(name){
    var arr = document.cookie.match(new RegExp("(^| )"+name+"=([^;]*)(;|$)"));
    if(arr != null){
        return (arr[2]);
    }else{
        return "";
    }
}

你的getCookie 写的不对,你可以试一下上面的那一个

查看完整回答
2 反对 回复 2016-03-22
  • _Forliberty
    _Forliberty
    非常感谢。这个getCookie方法的确能够得到预期的结果。不过自己对于正则匹配还并不熟悉,所以后面的一串符号一时也理解不了。用cookie的split方法拆分字符串为什么不能得到预期的效果呢?
  • 1 回答
  • 0 关注
  • 2926 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信