Ralat CORS: "Permintaan Hanya Disokong untuk Skim Protokol: http..." Penjelasan dan Penyelesaian
Apabila permintaan HTTP dibuat merentasi asal yang berbeza, ia mungkin disekat oleh penyemak imbas disebabkan oleh mekanisme Perkongsian Sumber Silang (CORS). Sekatan ini menghalang akses tanpa kebenaran kepada sumber daripada asal selain daripada tapak yang membuat permintaan.
Dalam senario yang diberikan, Perkhidmatan Angular sedang cuba mendapatkan respons JSON daripada bahagian belakang Express yang dijalankan pada localhost:4201/ticker. Walau bagaimanapun, permintaan itu gagal dengan ralat: "XMLHttpRequest tidak boleh memuatkan localhost:4201/ticker. Permintaan asal silang hanya disokong untuk skema protokol: http, data, chrome, chrome-extension, https."
Walaupun cuba melaksanakan pengendalian CORS menggunakan modul cors dalam pelayan Express, ralat berterusan. Coretan kod yang disediakan mendedahkan bahawa URL yang digunakan dalam Perkhidmatan Angular tidak menyatakan skema protokol, yang menyebabkan ralat CORS.
Untuk menyelesaikan isu ini, URL dalam Perkhidmatan Angular harus dikemas kini untuk memasukkan http:// skema protokol. Dengan menambahkan "http://" pada URL, permintaan itu akan ditafsirkan dengan betul sebagai permintaan HTTP, membenarkannya lulus pengesahan CORS.
Bahagian kod yang diperbetulkan dalam Perkhidmatan Angular:
this._baseUrl = 'http://localhost:4201/';
Setelah perubahan ini dibuat, Perkhidmatan Angular sepatutnya berjaya membuat permintaan ke bahagian belakang Express dan mendapatkan semula respons JSON tanpa menemui CORS ralat.
Atas ialah kandungan terperinci Mengapa Perkhidmatan Sudut Saya Mendapat Ralat CORS: \'Permintaan Hanya Disokong untuk Skim Protokol: http...\' dan Bagaimana Saya Boleh Membetulkannya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!