ReactJS GET 請求中發生302 重定向的CORS 錯誤
當您的ReactJS 應用程序向後端發送GET 請求時,您將面臨CORS 錯誤伺服器(b.com) 回應302 重新導向至SSO 登入頁面(sso.example.com)。您無法控制 SSO 頁面的回應標頭,這表示您無法新增 Access-Control-Allow-Origin 標頭來解決 CORS 問題。
解決方案:
為了規避此 CORS 限制,建議在瀏覽器中的客戶端處理重定向。這將防止 CORS 問題,因為您直接從 URL 存取 SSO 頁面。
JavaScript 解決方案:
您可以使用純JavaScript 來重新導向您的GET 要求: window 物件:
<code class="javascript">window.location.href = "https://www.example.com";</code>
這種方法簡單且易於實現,但可能會影響您的瀏覽器歷史記錄。或者,您可以使用 React 的導航庫以程式設計方式處理重新導向:
<code class="javascript">import { useHistory } from "react-router-dom"; const history = useHistory(); useEffect(() => { history.push("https://www.example.com"); }, []);</code>
此方法可讓您更精確地控制重新導向並避免瀏覽歷史記錄的任何潛在問題。透過在客戶端處理重新導向,您無需在 SSO 頁面上實現 CORS 標頭,這是您無法控制的。
以上是如何在 ReactJS 中處理 302 重新導向到 SSO 登入頁面的 CORS 錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!