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());
前后端分离开发的时候,发送ajax请求的时候,不会把cookie传过去,所以每次session会一直在变
我是使用axios发送请求的时候,把 ‘withCredentials’ 设置为 true
this.$axios.get(
${URL}
, {withCredentials: true}).then(res => {})