Ralat "Origin Null is Not Allowed by Access-Control-Allow-Origin" dalam File:// Permintaan URL
Apabila melakukan AJAX permintaan daripada fail:// URL ke domain lain, anda mungkin menghadapi ralat "XMLHttpRequest tidak dapat memuatkan". Isu ini disebabkan oleh dasar keselamatan silang asal yang dikuatkuasakan oleh penyemak imbas.
Memahami Permintaan Silang Asal
Pelayar mengehadkan permintaan silang asal untuk melindungi data pengguna dan menghalang skrip berniat jahat daripada mengakses maklumat sensitif daripada tapak web yang berbeza. Untuk mendayakan permintaan silang asal, pelayan mesti mengembalikan pengepala Access-Control-Allow-Origin yang menyatakan asal yang dibenarkan.
Masalah dengan Permintaan URL File://
Apabila mengakses halaman daripada URL fail://, penyemak imbas mewakili asal sebagai "null," yang bukan asal yang dibenarkan. Ini kerana permintaan URL file:// tidak dianggap sebagai sebahagian daripada web dan mempunyai keupayaan rentas asal yang terhad.
Penyelesaian #1: Gunakan JSONP
JSONP (JSON dengan Padding) ialah teknik yang membenarkan permintaan silang asal tanpa melanggar dasar asal yang sama. Ia melibatkan penambahan parameter panggil balik pada URL, yang kemudiannya dipanggil dengan data JSON sebagai argumen.
Dengan jQuery, anda boleh menggunakan $.getJSON() bukannya $.get() dan tambahkan "? panggil balik=?" ke URL untuk mencetuskan mod JSONP.
Penyelesaian #2: Layan melalui HTTP
Untuk sokongan silang asal penuh, hos halaman anda melalui HTTP. Ini akan membolehkan penyemak imbas menetapkan pengepala Asal yang betul dan mendayakan CORS.
Petua Penyelesaian Masalah
Atas ialah kandungan terperinci Mengapa Permintaan AJAX Saya daripada URL `file://` Menghasilkan Ralat 'Origin Null is Not Allowed'?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!