采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
在拦截getaccountinfo接口时,从请求头获取的userId和userToken的值为null,不知道是什么原因
经过测试发现,其实是POST请求之前会先发起一次OPTIONS请求,这个OPTIONS请求也会被拦截到,里面的userId和token都是空的,所以导致这个错误,解决方法就是放行OPTIONS请求
打断点发现,拦截的时候,request请求头里面确实没有userid和token信息,但是前端为什么发了两个请求,第一个请求头里面有userid和token信息,第二个是没有userid和token信息,拦截的是没有信息的请求,所以后端就取到空值,为什么会发送两个请求呢,而且两个请求头的信息会不一样
两个请求的url都是一模一样的? 这。。。有毒,是连续点击两次吗?这也不可能得,本地有了userid和token那一定会携带的。但是前端源码肯定是对的。 尝试在前端打断点试试看呢?
我没有点两下,我在后端拦截的地方打了断点,不可能能连续点两下的,前端页面cookie里面是有值的,但是也不知道为什么,它就好像是发了两次同样的请求,第一次发了但是没有发到后端,但是携带了信息,后端没有拦截到,然后又发了一次,这次发到了后端,后端拦截到了,但是不知道为啥,userid和usertoken信息没了,感觉就像是这样的
在前端打了断点,发现那个前端发送请求的那个设置请求头的信息的那段代码没有走,发送请求的时候,导致请求头里面没有headerUserId和headerUserToken信息,后端就拿不到信息,导致后端报错,但是发送请求的那里设置请求头的那段代码不是一定会走吗
好的,我试一试,但是我昨天试的最后一次是成功的,可以获取到不为null的值,但是今天起来啥都没改就又获取不到值,也不知道怎么回事
打断点跟踪一下看看
发送请求时请求头里面有userid和token,好像就在拦截的时候就变成空的了,这不知道怎么回事
可能在注册登录的时候就设置错误,导致前端获取不到,于是乎再次请求别的接口就没有了
登录后可查看更多问答,登录/注册
一课收获分布式系统开发,微服务核心技术和中间件企业生产落地
1.1k 13
533 11
733 11
1.2k 11
1.1k 10