解决node express使用session无法获取session(跨域登录) 解决node express使用session无法获取session(跨域登录)

解决node express使用session无法获取session(跨域登录)

今天做项目遇到,跨域登录问题,发现登录成功后session无法使用,怎么也无法获取到,然后查阅资料中越解决了这个问题

解决这个问题之前先看一下这个

首先因为是跨域登录,要保证服务器允许跨域请求,在服务器做如下设置:


app.all('*',function (req, res, next) {
  res.header('Access-Control-Allow-Origin', 'http://localhost:8080');
  res.header('Access-Control-Allow-Headers', 'Content-Type, X-Requested-With');
  res.header('Access-Control-Allow-Methods', 'PUT, POST, GET, DELETE, OPTIONS');
  res.header('Access-Control-Allow-Credentials', 'true');//允许携带cookie
  if (req.method == 'OPTIONS') {
    res.send(200); /让options请求快速返回/
  }
  else {
    next();
  }
});

如上,我对所有的请求允许了跨域,如果对单个项目请改成项目目录,看完了文章,我们知道了Access-Control-Allow-Credentials是允许携带cookie,


express主要使用这个实现session的

这个设置完了,发现还是获取不到session?为什么?因为已经说了需要携带cookie,因此我们发送请求时候把cookie带上就行了,我用的是axios


import axios from "axios";
axios.defaults.withCredentials=true;//携带cookie,默认不携带



分享本文至:

评论 0

挤眼 亲亲 咆哮 开心 想想 可怜 糗大了 委屈 哈哈 小声点 右哼哼 左哼哼 疑问 坏笑 赚钱啦 悲伤 耍酷 勾引 厉害 握手 耶 嘻嘻 害羞 鼓掌 馋嘴 抓狂 抱抱 围观 威武 给力
提交评论

清空信息
关闭评论