前端設定 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
});
...