session取值为undefined的问题分析

前言

最近在做一个vue的外卖项目的登录组件时遇到一个问题,账号密码登录时需要输入后端传过来的图片验证码,输入之后登录不成功,后端返回数据一直是验证码不正确,可输入的验证码明明是正确的。于是我就去服务器打桩输出,结果发现从session中取出的验证码为undefined。登录的大概流程是——服务器生成一个图片验证码发回页面并把值存放到session中,之后再取出的session中的验证码与拿到的页面输入的验证码作比较,相等登录成功,不相等返回验证码错误。最终查询了很多资料发现可能以下有几个方面的原因。
在这里插入图片描述

后台服务器

  1. session需要在路由和设置页面之前进行配置,如果在之后配置则会获取不到session中的值,我们可以试着更改服务器app.js中session的位置。
  2. 客户端地址不一样,localhost:3000和127.0.0.1看似一样,其实并不一样。向服务器发送请求时会被当成两个客户端

前台客户端

  1. ajax发送请求时想要带上cookie必须要在ajax请求里加上xhrFields:{withCredentials:true},crossDomaina:true
  $a
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值