Rumah  >  Artikel  >  hujung hadapan web  >  Bagaimana untuk Memintas Sekatan Akses-Kawalan-Benarkan-Asal untuk Panggilan AJAX?

Bagaimana untuk Memintas Sekatan Akses-Kawalan-Benarkan-Asal untuk Panggilan AJAX?

Linda Hamilton
Linda Hamiltonasal
2024-10-28 01:41:29659semak imbas

How to Bypass Access-Control-Allow-Origin Restrictions for AJAX Calls?

Cara Menghindari Sekatan Access-Control-Allow-Origin

Menghadapi ralat Access-Control-Allow-Origin semasa panggilan AJAX boleh mengecewakan, terutamanya apabila anda perlu mendapatkan semula data daripada pelayan anda sendiri. Walaupun anda mungkin tidak mempunyai akses kepada kod sumber platform, terdapat penyelesaian mudah untuk memintas sekatan ini.

Penyelesaian: Menambah Pengepala Kawalan Akses

Untuk mengelakkan silang -permintaan asal, pelayan yang mengehos API atau data yang anda cuba dapatkan daripada menetapkan pengepala Access-Control-Allow-Origin. Untuk memintas ini, tambahkan kod berikut pada bahagian atas skrip atau halaman yang memulakan panggilan AJAX (cth., retrieve.php):

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

Dengan menetapkan pengepala ini, anda melumpuhkan CORS dengan berkesan (Cross- Perkongsian Sumber Asal) perlindungan dan membenarkan semua domain mengakses sumber anda. Ambil perhatian bahawa ini boleh menjadi risiko keselamatan, jadi anda dinasihatkan untuk mengunci asal ke tapak web tertentu. Contohnya:

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

Tetapan ini hanya akan membenarkan permintaan silang asal daripada domain yang ditentukan.

JSON Equivalent

JSON tidak asli menyokong memintas sekatan CORS. Walau bagaimanapun, anda boleh menggunakan teknik JSONP (JSON dengan Padding) untuk mencapai kesan yang sama. Ini melibatkan membungkus respons JSON dalam panggilan fungsi, yang membolehkan penyemak imbas melaksanakannya sebagai JavaScript dan memintas sekatan CORS.

Sumber Tambahan

Untuk pemahaman yang lebih mendalam tentang Akses -Control-Allow-Origin dan CORS, rujuk sumber berikut:

  • [Jawapan StackOverflow pada Access-Control-Allow-Origin](https://stackoverflow.com/a/10636765/413670 )
  • [Rangkaian Pembangun Mozilla: CORS](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Origin)

Atas ialah kandungan terperinci Bagaimana untuk Memintas Sekatan Akses-Kawalan-Benarkan-Asal untuk 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