Rumah >hujung hadapan web >tutorial js >Mengapa Permintaan AJAX Saya daripada URL `file://` Mendapat Ralat 'Origin null is not allowed by Access-Control-Allow-Origin'?

Mengapa Permintaan AJAX Saya daripada URL `file://` Mendapat Ralat 'Origin null is not allowed by Access-Control-Allow-Origin'?

Linda Hamilton
Linda Hamiltonasal
2024-12-23 05:30:25589semak imbas

Why Does My AJAX Request from `file://` URLs Get an

“Origin null tidak dibenarkan oleh Access-Control-Allow-Origin” Ralat untuk Permintaan daripada file:// URL

Isu: Pembangun menghadapi masalah apabila membuat permintaan melalui sokongan AJAX jQuery daripada URL file:// ke Panoramio. Ralat "Origin null is not allowed by Access-Control-Allow-Origin" muncul dalam konsol.

Analisis Punca Punca:

  • Jenis Permintaan Tidak Betul: Permintaan GET harus menggunakan dataType "jsonp" atau menyertakan "callback=?" dalam URL untuk mendayakan JSONP, yang diperlukan untuk permintaan merentas domain.
  • Sekatan CORS untuk URL fail://: Pengepala perkongsian sumber silang (CORS) tidak boleh membenarkan permintaan daripada file:// URL dengan pengepala Asal nol melalui echo-back mekanisme.

Penyelesaian:

Untuk menyelesaikan isu tersebut, langkah berikut perlu:

  1. Gunakan JSONP Permintaan: Gunakan $.getJSON atau tetapkan dataType kepada "jsonp" untuk $.get to trigger JSONP, yang mengubah suai jenis permintaan kepada "jsonp" jika "panggilan balik=?" terdapat dalam URL.
  2. Elakkan URL file://: Pastikan ujian dijalankan melalui URL http:// kerana URL fail:// mempunyai sokongan CORS yang terhad.

Arahan Penyelesaian Masalah:

  1. Sahkan Penggunaan JSONP: Pastikan $.get mempunyai dataType ditetapkan kepada jsonp atau $.getJSON sedang digunakan dengan "callback=?" dalam URL.
  2. CORS untuk Permintaan Merentas Domain: Uji melalui http:// untuk mengelakkan sekatan CORS untuk URL file://. Sahkan bahawa penyemak imbas menyokong CORS, kerana Opera dan Internet Explorer telah menangguhkan pelaksanaan.

Atas ialah kandungan terperinci Mengapa Permintaan AJAX Saya daripada URL `file://` Mendapat Ralat 'Origin null is not allowed by Access-Control-Allow-Origin'?. 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