産生原因
跨域産生的原因是由于前端位址與背景接口不是同源,進而導緻 ajax 不能發送
非同源産生的問題
Cookie、LocalStorage 和 IndexDB 無法擷取
DOM 無法獲得
AJAX 請求不能發送
同源條件
協定,端口,主機 三者相同即為同源
反之,其中隻要 某一個 不一樣則為不同源
解決方式
本地開發跨域
本地開發一般使用下面 3 種方式進行處理
vite 的 proxy 進行代理
背景開啟 cors
使用 nginx 轉發請求
項目内部自帶第一種方式,具體可以參考服務端互動-本地開發環境接口位址修改
生産環境跨域
生産環境一般使用下面 2 種方式進行處理
背景開啟 cors
使用 nginx 轉發請求
背景開啟 cors 不需要前端做任何改動