Rumah >pembangunan bahagian belakang >tutorial php >Bagaimanakah Saya Boleh Menyelesaikan Ralat Access-Control-Allow-Origin Semasa Membuat Panggilan AJAX?

Bagaimanakah Saya Boleh Menyelesaikan Ralat Access-Control-Allow-Origin Semasa Membuat Panggilan AJAX?

Patricia Arquette
Patricia Arquetteasal
2024-12-16 10:21:11483semak imbas

How Can I Resolve Access-Control-Allow-Origin Errors When Making AJAX Calls?

Mengatasi Sekatan Akses-Kawalan-Benarkan-Asal

Senario:

Anda menghadapi ralat panggilan Ajax kerana pengepala Access-Control-Allow-Origin, menghalang anda daripada mendapatkan semula data daripada pelayan anda apabila membangun pada platform yang mengehadkan panggilan sedemikian.

Penyelesaian:

Untuk memintas sekatan ini, anda boleh mengubah suai kod sebelah pelayan anda (dapatkan .php dalam kes ini) dengan menambah pengepala berikut pada permulaan:

header('Access-Control-Allow-Origin: *');

Pengepala ini membenarkan semua asal untuk mengakses sumber pada pelayan anda. Walau bagaimanapun, adalah penting untuk ambil perhatian bahawa pendekatan ini melumpuhkan perlindungan CORS, yang berpotensi menyebabkan pengguna anda terdedah kepada serangan. Untuk mengurangkan risiko ini, anda boleh mengehadkan akses kepada asal-usul tertentu:

header('Access-Control-Allow-Origin: https://www.example.com');

Untuk pemahaman yang lebih mendalam tentang Access-Control-Allow-Origin, rujuk sumber berikut:

  • Rangkaian Pembangun Mozilla: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Origin
  • Jawapan Limpahan Tindanan: https://stackoverflow.com/a/10636765 /413670

JSON Setara (Tidak Disyorkan):

Daripada menggunakan Ajax, anda boleh mempertimbangkan pendekatan yang setara dengan JSON. Walau bagaimanapun, kaedah ini tidak disyorkan kerana JSON tidak menyokong CORS secara asli. Anda perlu melaksanakan penyelesaian untuk mendayakan CORS dalam persediaan JSON anda.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menyelesaikan Ralat Access-Control-Allow-Origin Semasa Membuat Panggilan 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