vue+fetch+nodejs,session失效问题

1.将vue项目打包放到node中发布出来,session获取没有问题。
fetch写法:

let requestConfig = {

  credentials: 'include',
  method: type,
  headers: {
    'Accept': 'application/json',
    'Content-Type': 'application/json',
    "Access-Control-Allow-Credentials": "true"
   },
        mode: "cors",
        cache: "no-cache"
    }

2.前后台分离开发时,session获取不到,sessionid一直在变

let requestConfig = {

  //credentials: 'include',
  method: type,
  headers: {
    'Accept': 'application/json',
    'Content-Type': 'application/json',
    "Access-Control-Allow-Credentials": "true"
   },
        mode: "cors",
        cache: "no-cache"
    }

credentials: 'include',不注释的话会报错:
Response to preflight request doesn't pass access control check: The value of the 'Access-Control-Allow-Origin' header in the response must not be the wildcard '*' when the request's credentials mode is 'include'. Origin 'http://localhost:8001' is therefore not allowed access.

后台跨域用的
//解决前台请求跨域
app.use(cors());

阅读 3.1k
1 个回答
新手上路,请多包涵

前后端分离开发的时候,发送ajax请求的时候,不会把cookie传过去,所以每次session会一直在变

我是使用axios发送请求的时候,把 ‘withCredentials’ 设置为 true

this.$axios.get(${URL}, {withCredentials: true}).then(res => {})

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题