Permintaan ReactJS GET Diubah Hala dengan 302, Menghadapi Ralat CORS
Dalam persekitaran pembangunan ReactJS, mengesahkan pengguna melalui Single Sign-On (SSO) boleh menghadirkan cabaran apabila bahagian belakang bertindak balas dengan ubah hala 302. Mari kita terokai senario dan cari penyelesaian untuk mengatasi ralat CORS.
Senario:
Isu:
ReactJS menghantar permintaan GET ke b.com/users. Bahagian belakang bertindak balas dengan ubah hala HTTP 302 ke halaman SSO di sso.example.com/login. Walau bagaimanapun, apl ReactJS menghadapi ralat CORS daripada sso.example.com, yang menyekat pengalihan.
Penyelesaian:
Memandangkan anda tidak mempunyai kawalan ke atas Pelayan SSO dan tidak boleh mengubah suai pengepala responsnya, adalah lebih baik untuk mengendalikan pengalihan pada bahagian klien dalam JavaScript. Pendekatan ini mengelakkan isu CORS:
Pilihan 1: React Router
Anda boleh menavigasi secara pemrograman menggunakan React Router untuk mengendalikan pengalihan pada bahagian klien. Walau bagaimanapun, kaedah ini lebih kompleks.
Pilihan 2: Window.location.href
Untuk pendekatan yang lebih mudah dan langsung, anda boleh menggunakan window.location.href harta untuk mengubah hala pengguna ke halaman SSO:
<code class="javascript">window.location.href = "https://www.example.com";</code>
Nota: Kaedah ini mungkin mempunyai implikasi untuk sejarah penyemakan imbas.
Atas ialah kandungan terperinci Bagaimana untuk Mengendalikan 302 Ubah hala daripada Pelayan SSO dan Elakkan Ralat CORS dalam ReactJS?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!