"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:
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:
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!