Bekerja dengan CORS dalam Permintaan Ambil
Semasa mengakses sumber silang asal menggunakan fetch, adalah perkara biasa untuk menemui "Tiada kawalan akses- ralat benarkan asal". Ini menghalang JavaScript pihak pelanggan daripada mengakses respons kerana sekatan silang asal.
Meluluskan { mod: 'no-cors' } kepada Ambil
Bertentangan dengan jangkaan , { mod: 'no-cors' } tidak akan mengurangkan isu ini. Sebaliknya, ia menyekat dengan ketat akses JavaScript kepada kandungan badan respons dan pengepala.
Penyelesaian: Proksi CORS
Untuk mengatasinya, proksi CORS boleh digunakan. Proksi terletak di antara pelanggan dan tapak web sasaran. Ia mengambil permintaan, memajukannya ke tapak sasaran, dan menerima respons. Yang penting, proksi menambah pengepala respons 'Access-Control-Allow-Origin', yang membenarkan kod klien mengakses respons.
Mengapa Posmen Boleh Mengakses Endpoint
Walaupun Posmen membenarkan akses kepada titik akhir tanpa pengepala 'Access-Control-Allow-Origin', pelayar web mengenakan sekatan silang asal. Pengepala ini adalah wajib bagi JavaScript pihak pelanggan untuk berinteraksi dengan respons.
Salah tanggapan tentang Melumpuhkan CORS
Apabila menyasarkan untuk "melumpuhkan CORS," apa yang sebenarnya dimaksudkan ialah melumpuhkan dasar asal yang sama. CORS, sebenarnya, menyediakan cara untuk melonggarkan dasar ini dengan membenarkan akses silang asal tertentu.
Bila Gunakan { mod: 'no-cors' }
{ mod: 'no-cors' } hanya perlu dipertimbangkan dalam senario tertentu:
Walau bagaimanapun, walaupun dalam kes ini, terdapat had dan faktor penting untuk pertimbangkan.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Memintas Ralat 'Tiada Kawalan Akses-Benarkan-Asal' Semasa Menggunakan Ambil?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!