Rumah > hujung hadapan web > tutorial js > Mengapa Saya Mendapat Ralat 'Tiada Pengepala 'Kawalan-Kawalan-Asal-Asal'' Semasa Membuat Permintaan Silang Asal?

Mengapa Saya Mendapat Ralat 'Tiada Pengepala 'Kawalan-Kawalan-Asal-Asal'' Semasa Membuat Permintaan Silang Asal?

DDD
Lepaskan: 2024-12-28 09:43:17
asal
998 orang telah melayarinya

Why Am I Getting a

"Tiada Pengepala 'Access-Control-Allow-Origin' Hadir" Apabila Mengambil Data dengan JavaScript

Perkongsian Sumber Rentas Asal (CORS ) ialah mekanisme yang membenarkan pelayar web membuat permintaan kepada domain lain, menangani kebimbangan keselamatan yang ditimbulkan oleh asal yang berbeza. Untuk mendayakan CORS, pelayan mesti memasukkan pengepala khusus dalam respons mereka, seperti 'Access-Control-Allow-Origin'.

1. Menggunakan Proksi CORS

Jika pelayan anda kekurangan pengepala yang diperlukan, anda boleh melaksanakan proksi CORS antara klien dan pelayan anda. Proksi ini, seperti CORS Anywhere, boleh menulis semula respons untuk memasukkan pengepala yang tiada, mendayakan permintaan silang asal.

2. Mengelakkan CORS Preflight

Permintaan prapenerbangan CORS ialah permintaan OPTIONS yang dihantar oleh penyemak imbas untuk menentukan sama ada pelayan membenarkan permintaan silang asal. Untuk mengelak daripada mencetuskan prapenerbangan, pastikan permintaan anda:

  • Jangan gunakan bukti kelayakan (Pengepala kebenaran).
  • Gunakan jenis media yang diterima oleh pelayan tanpa pengepala Jenis Kandungan tersuai (cth., aplikasi /x-www-form-urlencoded).

3. Membetulkan Pengepala Access-Control-Allow-Origin Wildcard

Penyemak imbas menolak respons dengan pengepala Access-Control-Allow-Origin kad bebas (*) untuk permintaan dengan bukti kelayakan. Sebaliknya, nilai pengepala mesti sepadan dengan asal pelanggan yang meminta. Untuk membetulkannya:

  • Konfigurasikan pelayan anda untuk menggemakan pengepala permintaan Asal ke dalam pengepala respons Access-Control-Allow-Origin.
  • Elakkan Pemalam CORS Chrome, yang boleh menyebabkan palsu positif.

4. Pengepala dalam Permintaan lwn. Respons

Alih keluar baris dalam kod JavaScript (headers.append(...)) yang menetapkan tajuk Access-Control-Allow-*. Ini adalah pengepala respons yang tidak sepatutnya disertakan dalam permintaan.

Atas ialah kandungan terperinci Mengapa Saya Mendapat Ralat 'Tiada Pengepala 'Kawalan-Kawalan-Asal-Asal'' Semasa Membuat Permintaan Silang Asal?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan