關於fetch 跨域的問題

2021-08-15 04:32:36 字數 434 閱讀 6932

最近在拿react+dva-cli+antd做個專案練手,搭建完專案後發現在做請求的時候走的是fetch,用的時候在跨域請求的時候出現了不少問題。在網上查了一下解決辦法,提供了乙個在options mods:'no-cors'配置 發現確實可以請求成功了,但是會出現下面的情況

請求成功但是看不到返回資料,查了一下是設定no-cors本身的問題,他返回的response type是opaque,設定為cors的話就會出現跨域問題,解決辦法有兩個,第乙個是在伺服器端需要cors支援,另外乙個是走fetch的jsonp,通過npm安裝fetch-jsonp,如下圖引用

fetch跨域問題

fetch傳送請求預設是不傳送cookie的,不管是同域還是跨域 那麼問題就來了,對於那些需要許可權驗證的請求就可能無法正常獲取資料,這時可以配置其credentials項,其有3個值 credentials所表達的含義,其實與xhr2中的withcredentials屬性類似,表示請求是否攜帶co...

fetch跨域請求

cors 該模式支援跨域請求,顧名思義它是以cors的形式跨域 當然該模式也可以同域請求不需要後端額外的cors支援 其對應的response type為cors。no cors 該模式用於跨域請求但是伺服器不帶cors響應頭,也就是服務端不支援cors 這也是fetch的特殊跨域請求方式 其對應的...

關於跨域問題

解決方案 使用jsonp jsonp是使用scripe標籤來突破同源策略的一種實現方式,只能傳送get請求,就算是用jqueryajax指明了post請求,jquery也會在傳送請求的過程中轉化為get請求。具體實現方案未研究。使用子頁面 使用巢狀iframe子頁面的方法,避開同源策略。跨域資源共享...