Rumah >hujung hadapan web >tutorial js >Bagaimanakah Saya Boleh Menyelesaikan Ralat CORS 'Tiada 'Access-Control-Allow-Origin' Header'?

Bagaimanakah Saya Boleh Menyelesaikan Ralat CORS 'Tiada 'Access-Control-Allow-Origin' Header'?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-22 16:43:10806semak imbas

How Can I Resolve

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

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