跨域时session丢失问题的解决

2020-09-04  本文已影响0人  无崖老师

项目需求需要前后端分离,做一个登录验证码,但尴尬的是node中,因为跨域不能携带sessionId的原因,导致session丢失,node不能获取验证码,没法做验证

经过将近半个小时的折腾最终解决,特此保留

我的后端使用的是node的express框架,在app.js中进行如下设置

```

app.all('*', function (req, res, next) {

  res.header('Access-Control-Allow-Origin', 'http://127.0.0.1:5500'); //必须写上自己的域名,不能为*

  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);

  }

  else {

    next();

  }

});

```

前端使用的是axios中进行了,如下的设置

```

axios.defaults.withCredentials = true;//设置允许携带cookie,默认不让携带

```

上一篇下一篇

猜你喜欢

热点阅读