Permintaan Silang Asal Disekat: Memahami Puncanya
Permintaan HTTP yang merangkumi domain yang berbeza boleh menghadapi sekatan keselamatan yang dikenali sebagai Dasar Asal yang Sama (SOP), menyebabkan ralat "Permintaan Silang Asal Disekat". Dasar ini menghalang skrip daripada membuat permintaan kepada asal lain, seperti pelayan atau halaman web, tanpa kebenaran yang jelas.
Penyelesaian untuk Pengendali Go
Untuk menyelesaikan isu dalam anda Go handler, anda perlu membenarkan permintaan silang asal secara eksplisit dengan menetapkan Access-Control-Allow-Origin yang sesuai pengepala:
func handleMessageQueue(w http.ResponseWriter, r *http.Request) { // Allow cross-origin requests w.Header().Set("Access-Control-Allow-Origin", "*") ... }
Penyelesaian untuk Apl OS Firefox
Dalam kod JavaScript anda, XMLHttpRequest istimewa boleh digunakan untuk memintas sekatan SOP. Untuk melakukan ini, gunakan sintaks berikut:
var xhr = new XMLHttpRequest({mozSystem: true});
Konfigurasi Manifes Tambahan
Untuk XMLHttpRequest istimewa untuk berfungsi dalam apl OS Firefox, anda perlu menambah yang sesuai kebenaran kepada fail manifes anda:
"permissions": { "systemXHR": {}, }
Sebab untuk Ralat
Secara lalai, permintaan penyemak imbas ke asal lain disekat sebagai langkah keselamatan. Apabila anda membuat permintaan POST daripada apl OS Firefox anda kepada pengendali Go anda, respons pengendali telah disekat disebabkan oleh SOP. Menetapkan pengepala Access-Control-Allow-Origin dalam pengendali Go anda dan menggunakan XMLHttpRequest istimewa dalam apl anda membenarkan permintaan silang asal, menyelesaikan isu tersebut.
Atas ialah kandungan terperinci Mengapa Permintaan Silang Asal saya Disekat, dan Bagaimana Saya Boleh Membetulkannya dalam Go dan Firefox OS?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!