Rumah >hujung hadapan web >tutorial js >Bagaimanakah Saya Boleh Menyelesaikan Ralat CORS 'Tiada 'Access-Control-Allow-Origin' Header'?
"Tiada Pengepala 'Access-Control-Allow-Origin' Hadir dalam Respons API"
Proksi CORS untuk Penyelesaian Isu Pengepala
Jika anda kurang kawalan ke atas pelayan, anda boleh memintas pengepala kekurangan dengan menggunakan proksi CORS. Satu pilihan yang mudah digunakan ialah cors-anywhere (https://github.com/Rob--W/cors-anywhere), yang boleh disediakan dengan beberapa arahan. Proksi ini menambahkan pengepala Access-Control-Allow-Origin yang diperlukan pada respons.
Mengelakkan CORS Preflight
Kod yang dipersoalkan mencetuskan CORS preflight disebabkan pengepala Kebenaran . Selain itu, Content-Type: application/json juga boleh mencetuskan preflight. Untuk mengelakkan ini, seseorang mesti mengubah suai pelayan untuk bertindak balas dengan sewajarnya kepada permintaan OPTIONS prapenerbangan dengan pengepala yang diperlukan. Sebagai alternatif, mereka bentuk permintaan untuk mengelakkan pencetus ini (cth., menggunakan pengepala berbeza atau JSON terbenam) boleh dipertimbangkan.
Isu Access-Control-Allow-Origin "Wildcard"
Untuk respons dengan bukti kelayakan, nilai pengepala Access-Control-Allow-Origin tidak boleh '*'. Ia mesti sepadan dengan asal kod bahagian hadapan, seperti 'http://127.0.0.1:3000'. Konfigurasi pelayan boleh dilaraskan untuk menggambarkan nilai asal secara automatik dalam pengepala.
Mengalih Keluar Pengepala Permintaan yang Tidak Diperlukan
Alih keluar baris ini daripada kod JavaScript kerana ia mewakili pengepala respons dan tidak boleh dimasukkan dalam permintaan:
headers.append('Access-Control-Allow-Origin', 'http://localhost:3000'); headers.append('Access-Control-Allow-Credentials', 'true');
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menyelesaikan Ralat CORS 'Tiada 'Access-Control-Allow-Origin' Header'?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!