Rumah >hujung hadapan web >tutorial js >Mengapa Saya Mendapat Ralat \'Tiada \'Access-Control-Allow-Origin\' Header\'?
Memahami Ralat "Tiada 'Access-Control-Allow-Origin' Header"
Apabila menghadapi mesej ralat seperti "Tiada 'Access Pengepala -Control-Allow-Origin' hadir pada sumber yang diminta," ini menunjukkan bahawa penyemak imbas anda mengehadkan perkongsian sumber silang asal (CORS) antara skrip anda dan pelayan. Berikut ialah pecahan isu dan cara menyelesaikannya.
Apakah itu CORS?
CORS ialah mekanisme yang mengawal pertukaran maklumat antara skrip daripada asal yang berbeza ( domain). Tanpa CORS, hanya permintaan asal yang sama (skrip dan pelayan dari domain yang sama) dibenarkan atas sebab keselamatan.
Ralat "Tiada 'Access-Control-Allow-Origin' Header"
Apabila membuat permintaan silang asal, penyemak imbas menghantar pengepala khas bernama "Asal" bersama permintaan itu. Jika pelayan sasaran tidak bertindak balas dengan pengepala yang sepadan "Access-Control-Allow-Origin", penyemak imbas menyekat permintaan atas sebab keselamatan.
Penyelesaian: Menambahkan "Access-Control-Allow- Origin" Header
Untuk menyelesaikan isu ini, anda perlu menambah pengepala "Access-Control-Allow-Origin" pada respons pelayan. Pengepala ini menentukan domain mana yang dibenarkan untuk mengakses sumber.
Menggunakan Kaedah addHeader
Daripada menggunakan kaedah setHeader, gunakan addHeader untuk menetapkan pengepala:
response.addHeader("Access-Control-Allow-Origin", "*");
Menetapkan "*" dalam pengepala memberikan akses kepada semua domain.
Membenarkan Domain Tertentu
Untuk akses domain tertentu, gunakan:
response.addHeader("Access-Control-Allow-Origin", "http://www.example.com");
Pautan Rujukan
Atas ialah kandungan terperinci Mengapa Saya Mendapat Ralat \'Tiada \'Access-Control-Allow-Origin\' Header\'?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!