Rumah >hujung hadapan web >tutorial js >Mengapa Permintaan AJAX Saya daripada URL `file://` Gagal dengan 'Origin Null Not Allowed by Access-Control-Allow-Origin'?
Isu "Origin Null Not Allowed by Access-Control-Allow-Origin" untuk Permintaan daripada URL File://
Pengenalan:
Apabila melaksanakan permintaan AJAX ke domain yang berbeza daripada file:// URL, pembangun mungkin menghadapi ralat yang berkaitan dengan "Origin null is not allowed by Access-Control-Allow-Origin." Isu ini timbul disebabkan oleh langkah keselamatan yang dikenali sebagai Perkongsian Sumber Silang Asal (CORS) yang mengehadkan permintaan merentas domain.
Masalahnya:
Permintaan AJAX dibuat daripada file:// URL mempunyai asalan batal, yang tidak dibenarkan oleh CORS. Penyemak imbas menyekat permintaan ini untuk menghalang akses tanpa kebenaran kepada sumber merentas domain yang berbeza.
Penyelesaian:
Untuk menyelesaikan isu ini, dua kaedah utama boleh digunakan:
Gunakan JSONP Permintaan:
JSONP (JSON dengan Padding) ialah teknik yang membenarkan permintaan merentas domain dengan membungkus respons dalam fungsi panggil balik. Dengan menentukan nama fungsi panggil balik dalam URL, penyemak imbas boleh mentafsirkan respons sebagai panggilan fungsi dan bukannya permintaan AJAX. Untuk menggunakan JSONP:
Contoh:
$.get(url, { callback: 'myCallback' }, function(data) { // Handle the response data });
Ujian Menggunakan URL HTTP:
Sekatan CORS bukan dikuatkuasakan atas permintaan yang dibuat daripada http:// URL. Oleh itu, menguji permintaan daripada URL http:// boleh memintas isu asal nol. Pendekatan ini berguna untuk menyahpepijat dan mengesahkan konfigurasi CORS sebelah pelayan.
Petua Penyelesaian Masalah:
Atas ialah kandungan terperinci Mengapa Permintaan AJAX Saya daripada URL `file://` Gagal dengan 'Origin Null Not Allowed by Access-Control-Allow-Origin'?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!