Egg Cors

Egg.js跨域訪問需使用egg-cors插件,典型的應(yīng)用場景是前后端分離的項目中,前端與后臺在不同的域下,此時若前端通過AJAX訪問后端接口,此時就首先解決跨域問題。

安裝egg-cors插件

$ npm i -S egg-cors

開啟egg-cors插件

$ vim config/plugin.js
module.exports = {
  cors:{enable:true, package:"egg-cors"}
}

配置跨域參數(shù)

$ vim config/config.default.js
//cors
config.cors = {
    origin:"*",
    allowMethods:"GET, HEAD, PUT, POST, DELETE, PATCH",
    credentials:true
};
配置 描述
orgin 允許請求的來源,為*表示允許所有IP的請求。
allowMethods 允許請求的方式
credentials -

egg-cors在Egg框架內(nèi)部與egg-security插件協(xié)同工作,通過在配置對象安全性上定義domainWhiteList白名單域?qū)傩?,當從客戶端發(fā)出請求時,Egg框架會返回包含Access-Control-Allow-Origin的響應(yīng)頭,其中會包括傳入的域、負載、狀態(tài)碼。

$ vim config/config.default.js
config.security = {
    domainWhiteList:["*"]
};

egg-cors插件配置origin選項后,egg-cors插件會在響應(yīng)頭中添加Access-Control-Allow-Origin字段以設(shè)置訪問控制所允許的來源,同時會排除白名單security.domainWhiteList選項中設(shè)置的域名。

當前端發(fā)送AJAX請求時,需在請求頭中添加

header:{'Access-Control-Allow-Origin':'*'}
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容