axios跨域問題小記
阿新 • • 發佈:2020-12-17
更多文章可關注我的個人部落格:https://seven777777.github.io/myblog/
問題描述:
後端設定了允許跨域,前端訪問介面時依舊提示跨域
原因:
設定axios例項時,設定了withCredentials
:true
.
let myHttp = axios.create({ baseURL: env.apiPath, timeout: 30000, headers: { 'Content-Type': `application/json; charset=utf-8` }, withCredentials: true//主要因為這個設定 });
解決:如何避免之後踩坑
對於不需要傳送cookie的請求,只需將withCredentials
設為false
即可。
否則:如果前端配置了withCredentials
:true
,後端在增加 response
頭資訊Access-Control-Allow-Origin
時必須指定域名,且不能為*
header("Access-Control-Allow-Origin","指定域名");
header("Access-Control-Allow-Credentials", "true");