Memahami Ralat "Origin is Not Allowed by Access-Control-Allow-Origin"
Apabila membuat permintaan AJAX daripada JavaScript, anda boleh menghadapi ralat "Origin is not allowed by Access-Control-Allow-Origin". Ralat ini berpunca daripada "dasar asal yang sama", langkah keselamatan dalam JavaScript yang mengehadkan permintaan silang asal.
Punca Ralat
Ralat berlaku apabila cuba membuat permintaan daripada kod JavaScript anda kepada pelayan dengan protokol yang berbeza (cth., http:// lwn. https://), hos (cth., example.com lwn. subdomain.example.com) atau port ( cth., port 80 lwn. port 8080).
Resolusi
Untuk menyelesaikan ralat ini, anda mempunyai beberapa pilihan:
-
Gunakan JSONP: JSONP, teknik yang memanfaatkan tag, membolehkan anda memintas dasar asal yang sama. Walau bagaimanapun, ini memerlukan pelayan dikonfigurasikan untuk JSONP, yang mungkin tidak selalu dapat dilakukan.
-
Laksanakan Proksi Bahagian Pelayan: Proksi sebelah pelayan memintas permintaan AJAX anda dan menghantarnya kepada pelayan sasaran bagi pihak anda. Ini membolehkan pelayan mengendalikan isu dasar silang asal semasa anda mengekalkan kod permintaan AJAX anda.
-
Konfigurasikan CORS pada Pelayan: CORS (Perkongsian Sumber Silang Asal) ialah mekanisme yang membenarkan pelayan untuk menentukan asal mana yang dibenarkan untuk membuat permintaan. Dengan mengubah suai konfigurasi pelayan, anda boleh memberikan kebenaran kepada asal anda.
-
Gunakan Sambungan Penyemak Imbas: Sesetengah sambungan penyemak imbas, seperti CORS Unblock, membenarkan anda memintas dasar asal yang sama dalam pelayar anda. Walau bagaimanapun, pendekatan ini boleh menjejaskan keselamatan dan tidak disyorkan untuk persekitaran pengeluaran.
Atas ialah kandungan terperinci Bagaimana untuk Menyelesaikan Ralat \'Origin is Not Allowed by Access-Control-Allow-Origin\' dalam Permintaan AJAX?. 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