关于cookie调试


今天翻出来大学时写的老项目,发现跑不起来,一步步调试又卡到session这里。

当时折磨我很惨,给我非常深刻的映像,整了两天一点解决的办法都没有。

session问题是这样的:为了保存登录信息npm install一个express-session的包。这个包用法也很简单,在app.js里require进去,再app.use一下就可以使用了。但是我按照官方的模板配置配好后,登录存入数据log一下还在,主页获取登录信息时就啥都没有了。完全摸不着头脑,跳个页面一瞬间的事情log就log不出来了。

今天再次复盘还是被折磨了。最先考虑了cookie存在跨域无法携带的问题,调整了一下跨域的配置,无果。又考虑是不是页面跳转时什么操作把session清掉了,网上搜了很多并没有有用的信息。我甚至重新下了个cookie-session库,结果也拿不到值。最后看到一篇在谷歌控制台查看cookie的,这方面也考虑过,看了一眼浏览器写进去了就没管了,其实这里才是关键。

F12进入控制台,先看网络请求这里,点开刚刚发送的请求,右侧尾巴上有一个cookie,点开后我发现有一个maxAge。这个属性是cookie存在时间的嘛,但是我一看时间就是发送的时间点,分秒不差。试了几次都是这样,然后我注意到后边的有个感叹号,里边提示了一串啥域名不在范围内的啥的巴拉巴拉。又去改配置,改过去改过来总会有点报错;突然想起以前根本就没有配置过cookie,索性一把全删了,重新请求,泪目,不用我调试登录信息已经在页面上了。

幸好解决了,不然今晚要睡不着觉,几年前的问题现在还能困扰我这么久,一定得记录一下。

对了,cookie有问题的时候字是黄色的,跟正常看起还是不一样的,下次遇到session、cookie相关问题一定要长教训了。