Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Mengapa Pelayar Saya Tidak Menetapkan Kuki daripada Respons Silang Asal?

Mengapa Pelayar Saya Tidak Menetapkan Kuki daripada Respons Silang Asal?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-17 07:08:03162semak imbas

Why Isn't My Browser Setting Cookies from Cross-Origin Responses?

Pelayar Enggan Menghormati Pengepala Kuki Set daripada Respons Silang Asal

Masalah:

Aplikasi bergelut untuk menetapkan dan mengekalkan kuki HTTP yang dihantar dari bahagian belakang ke hadapan end.

Spesifik:

  • Halaman belakang menghantar dengan betul kuki dalam pengepala respons.
  • Halaman hadapan menggunakan Axios untuk menghantar permintaan , tetapi kuki tidak ditetapkan secara setempat.
  • Penghala API mempunyai pengepala dan tetapan CORS yang diperlukan untuk membenarkan kuki.

Penyelesaian:

Ralat terletak pada peletakan withCredentials dalam konfigurasi permintaan Axios. withCredentials ialah harta permintaan, bukan pengepala permintaan. Untuk menyelesaikan isu, ia harus dialihkan daripada objek pengepala ke objek konfigurasi peringkat atas.

Kod Dibetulkan:

const axiosAuth = axios.create({
  validateStatus: (status: number) => {
    return status >= 200 && status < 300;
  },
  headers: {
    Accept: `application/json`,
    'Content-Type': 'application/json',
  },
  withCredentials: true,
});

Dengan menggunakan withCredentials: true dalam objek konfigurasi, Axios akan mengendalikan tetapan dan pengambilan kuki silang asal secara automatik.

Atas ialah kandungan terperinci Mengapa Pelayar Saya Tidak Menetapkan Kuki daripada Respons Silang Asal?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn