Rumah >hujung hadapan web >tutorial js >Mengapa 'Origin null tidak dibenarkan oleh Access-Control-Allow-Origin' Berlaku Apabila Memuatkan Fail Setempat, dan Bagaimana Ia Boleh Diselesaikan?

Mengapa 'Origin null tidak dibenarkan oleh Access-Control-Allow-Origin' Berlaku Apabila Memuatkan Fail Setempat, dan Bagaimana Ia Boleh Diselesaikan?

Linda Hamilton
Linda Hamiltonasal
2024-12-10 21:38:15482semak imbas

Why Does

Penyekatan Permintaan Silang Asal: Memahami "null Asal tidak dibenarkan oleh Ralat Access-Control-Allow-Origin"

Apabila mencuba untuk memuatkan sumber luaran merentasi asal yang berbeza, seperti memuatkan output HTML yang dijana daripada lembaran gaya XSL, ralat biasa yang timbul ialah "Origin null is not allowed by Access-Control-Allow-Origin." Ralat ini berpunca daripada Same Origin Policy (SOP) yang dilaksanakan oleh penyemak imbas web, yang mengehadkan interaksi silang asal untuk mengelakkan serangan berniat jahat.

Dalam senario yang diberikan, halaman HTML yang memulakan pemuatan sumber (output HTML daripada fail weather.xsl) dimuatkan melalui URL fail setempat (cth., "file:///"). Kebanyakan penyemak imbas menggunakan SOP pada fail tempatan, tidak membenarkan pemuatan sumber walaupun dari direktori yang sama dengan dokumen. Ini kerana asal fail yang dimuatkan secara setempat dianggap sebagai "null", yang tidak disertakan dalam pengepala Access-Control-Allow-Origin pelayan yang menyediakan sumber.

Untuk menyelesaikan isu ini dan muatkan output HTML ke dalam div menggunakan jQuery, terdapat dua pendekatan yang berpotensi:

  1. Pasang Web Pelayan: Daripada memuatkan halaman HTML secara setempat, ia boleh disampaikan melalui pelayan web dengan URL HTTP (cth., "http://localhost/weather.html"). Ini membolehkan pelayan web mengkonfigurasi pengepala yang diperlukan, seperti Access-Control-Allow-Origin, untuk membenarkan pemuatan sumber dari asal yang berbeza.
  2. Gunakan Sambungan Penyemak Imbas: Sesetengah sambungan penyemak imbas wujud yang boleh mengubah suai SOP dan membenarkan pemuatan sumber silang asal daripada fail tempatan. Walau bagaimanapun, adalah penting untuk berhati-hati tentang implikasi keselamatan penggunaan sambungan sedemikian.

Atas ialah kandungan terperinci Mengapa 'Origin null tidak dibenarkan oleh Access-Control-Allow-Origin' Berlaku Apabila Memuatkan Fail Setempat, dan Bagaimana Ia Boleh Diselesaikan?. 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