前端设置 axios 跨域
const axios = require("axios")
axios.defaults.withCredentials=true
后端设置:
express
...
app.use('*', function(req, res, next) {
res.setHeader("Access-Control-Allow-Origin", req.headers.origin);
res.setHeader("Access-Control-Allow-Credentials","true")
res.setHeader("Access-Control-Allow-Headers", "Content-Type");
res.setHeader("Access-Control-Allow-Methods","*")
if(req.method==='OPTIONS'){
res.sendStatus(204)
return
}
next();
});
...
Nest.js
...
//开启跨域
app.enableCors({
// 自动适配相应头:"Access-Control-Allow-Origin"
// origin:true === res.setHeader("Access-Control-Allow-Origin", req.headers.origin);
origin: true,
//请求方式
methods: "*",
preflightContinue: false,
//快速响应 OPTIONS 请求
optionsSuccessStatus: 204,
//携带 cookie
credentials:true
});
...