關於 Angular 跨域請求攜帶 Cookie 的問題

在前端開發調試接口的時候都會遇到跨域請求的問題。傳統的方式是使用 Nginx 反向代理解決跨域。好比全部接口都在 a.com 的域下,經過 Nginx 將全部請求代理到 a.com 的域下便可。前端

使用框架及 Webpack 進行開發時,也能夠經過插件實現反向代理。好比使用 Angular 的時候能夠經過 proxy.config.json 進行跨域設置。json

可是若是開發的測試環境須要登陸認證,則請求時須要攜帶 Cookie 信息。經過 Fetch 發送請求時,能夠設置 credentials: 'include' 。而在 Angular 中,則是設置 withCredentials: true 。可是仍然存在跨域的問題。好比本地服務器爲 localhost:XXXX,而登陸的 Cookie 信息在 a.com 的域下。因此仍是沒法解決跨域問題。不知道是否是本身沒有找到更科學的方法。跨域

爲了解決這個問題,最後採用了一個相對保守的方法,可使用 Chrome 插件 modheader 將 Cookie 手動添加到請求頭中。雖然問題解決了,但切換頁面時,還要反覆設置插件開關,由於每一個頁面的 Cookie 是不同的。暫時沒有找到更好的解決辦法。服務器

相關文章
相關標籤/搜索