Rumah >pembangunan bahagian belakang >Golang >Mengapa Apl OS Firefox Saya Mendapat Ralat 'Permintaan Silang Asal Disekat' Walaupun dengan CORS Didayakan?

Mengapa Apl OS Firefox Saya Mendapat Ralat 'Permintaan Silang Asal Disekat' Walaupun dengan CORS Didayakan?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-17 00:13:25949semak imbas

Why Does My Firefox OS App Get a

Permintaan Silang Asal Disekat Kerana Sekatan XMLHttpRequest

Soalan:

Percubaan untuk mengakses perkhidmatan RESTful POST daripada apl Firefox OS menghasilkan Ralat "Permintaan Silang Asal Disekat", walaupun pelayan bahagian belakang telah ditetapkan "Access-Control-Allow-Origin: *" dalam pengepala respons HTTPnya.

Penyelesaian:

Isunya terletak pada kod JavaScript yang mencipta permintaan XMLHttpRequest:

var request = new XMLHttpRequest();

Untuk membuat permintaan POST merentas tapak dalam apl OS Firefox, objek XMLHttpRequest mesti dibuat dalam mod istimewa, menggunakan mozSystem:

var request = new XMLHttpRequest({mozSystem: true});

Butiran Pelaksanaan:

  1. mozSystem: Menetapkan mozSystem kepada true membenarkan sambungan merentas tapak tanpa memerlukan konfigurasi bahagian pelayan CORS. Walau bagaimanapun, ia memerlukan tetapan mozAnon: true, yang menghalang penghantaran kuki atau bukti kelayakan pengguna lain. Ciri ini hanya tersedia untuk apl istimewa (disemak) dan bukan halaman web sewenang-wenangnya.
  2. Kemas Kini Manifes: Untuk memberikan apl anda kebenaran yang diperlukan, sertakan baris berikut dalam "kebenaran" manifes anda bahagian:
"permissions": {
       "systemXHR" : {},
}

Dengan melaksanakan perubahan ini, apl Firefox OS anda akan dapat membuat permintaan POST silang asal kepada perkhidmatan Go anda.

Atas ialah kandungan terperinci Mengapa Apl OS Firefox Saya Mendapat Ralat 'Permintaan Silang Asal Disekat' Walaupun dengan CORS Didayakan?. 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