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

为什么首次进入页面后输入了username,刷新页面或者点击页面的button又提醒输入

为什么首次进入页面后输入了username,刷新页面或者点击页面的button又提醒输入

守着一只汪 2019-03-07 14:15:23
<!DOCTYPE html><html><head><meta charset="utf-8"><title>菜鸟教程(runoob.com)</title></head><head><script>function setCookie(cname,cvalue,exdays){    var d = new Date();    d.setTime(d.getTime()+(exdays*24*60*60*1000));    var expires = "expires="+d.toGMTString();    document.cookie = cname+"="+cvalue+"; "+expires;    console.log(document.cookie);}function getCookie(cname){    var name = cname + "=";    var ca = document.cookie.split(';');    for(var i=0; i<ca.length; i++) {        var c = ca[i].trim();        if (c.indexOf(name)==0) { return c.substring(name.length,c.length); }    }    return "";}function checkCookie(){    var user=getCookie("username");    if (user!=""){        alert("欢迎 " + user + " 再次访问");    }    else {        user = prompt("请输入你的名字:","");          if (user!="" && user!=null){            setCookie("username",user,30);        }    }}</script></head>    <body onload="checkCookie()">    <button type="button" onclick="checkCookie()"></button></body>    </html>按照我对这段代码的理解应该是设置了cookies之后,在30天内的有效期内都能检测到username,第一次输入后,有效期内就不应该再输入了。但是为什么会在弹出prompt框让我再次输入;我也在控制台里打断点看了代码的执行情况,发现setCookie的function里的console.log(document.cookie);执行出来的结果为'',按理说进入页面输入了username之后,username的cookie应该存在。。。。。。。。。。。为什么会这样啊,小白求指教?实在是想不明白补充图片:
查看完整描述

3 回答

?
凤凰求蛊

TA贡献1825条经验 获得超4个赞

问题在于 本地浏览只有firefox支持cookie...你切个服务器环境,就好了。。。跟代码一点关系都没有


查看完整回答
反对 回复 2019-03-21
?
梦里花落0921

TA贡献1772条经验 获得超6个赞

问题所在就是cookie设置不成功

https://img1.sycdn.imooc.com//5c934f650001031808000401.jpg

查看完整回答
反对 回复 2019-03-21
  • 3 回答
  • 0 关注
  • 687 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号