Rumah  >  Artikel  >  hujung hadapan web  >  Bagaimana untuk Menyelesaikan Ralat \"Origin is Not Allowed by Access-Control-Allow-Origin\"?

Bagaimana untuk Menyelesaikan Ralat \"Origin is Not Allowed by Access-Control-Allow-Origin\"?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-10-19 09:36:29675semak imbas

How to Resolve the

Memahami Ralat "Origin is Not Allowed by Access-Control-Allow-Origin"

Apabila cuba mengakses sumber merentasi asal yang berbeza ( cth., domain, port), anda mungkin menghadapi ralat "Origin is Not Allowed by Access-Control-Allow-Origin". Ralat ini berpunca daripada Dasar Same-Origin penyemak imbas, yang mengehadkan permintaan silang asal atas sebab keselamatan.

Dalam kes khusus anda, permintaan daripada localhost:8080 tidak dibenarkan untuk akses silang asal oleh pengehosan pelayan gdata.youtube.com. Coretan kod cuba membuat XMLHttpRequest ke pelayan, tetapi pengepala Access-Control-Allow-Origin pelayan tidak ditetapkan untuk membenarkan permintaan daripada asal anda.

Punca Ralat:

  • Asal usul tidak sepadan: Permintaan silang asal dibenarkan hanya jika asalnya adalah sama (mis., http://example.com meminta daripada http://example.com).
  • Perbezaan port: Port berbeza (cth., example.com:80 meminta daripada example.com:81) dianggap asal yang berbeza.
  • Pengepala CORS tidak ditetapkan: Pelayan mesti menetapkan Access-Control-Allow secara eksplisit -Pengepala asal dengan asal yang dibenarkan untuk mendayakan permintaan silang asal.

Penyelesaian:

Untuk menyelesaikan ralat ini, pertimbangkan penyelesaian berikut:

  • Konfigurasikan CORS pada Pelayan: Pelayan mesti menetapkan pengepala Access-Control-Allow-Origin dengan asal yang dibenarkan (cth., Access-Control-Allow-Origin: http:// localhost:8080).
  • Gunakan JSONP: JSONP (JSON dengan Padding) ialah teknik yang menggunakan fungsi panggil balik untuk mengendalikan permintaan silang asal. Pelayan mengembalikan data yang terkandung dalam fungsi panggil balik, membenarkan penyemak imbas untuk melaksanakannya.
  • Gunakan Proksi Bahagian Pelayan: Proksi sebelah pelayan (cth., PHP, ASP) boleh bertindak sebagai perantara antara penyemak imbas dan pelayan jauh. Proksi membuat permintaan kepada pelayan jauh dan mengendalikan pengepala CORS, membenarkan penyemak imbas mengakses data.

Atas ialah kandungan terperinci Bagaimana untuk Menyelesaikan Ralat \"Origin 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