Rumah >hujung hadapan web >tutorial js >Mengapa Permintaan CORS Localhost Saya Gagal ke stackoverflow.com Walaupun Pengepala Pelayan Betul?

Mengapa Permintaan CORS Localhost Saya Gagal ke stackoverflow.com Walaupun Pengepala Pelayan Betul?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-16 11:31:11857semak imbas

Why Does My Localhost CORS Request Fail to stackoverflow.com Despite Correct Server Headers?

Isu Pengepala CORS Localhost

Walaupun mengkonfigurasi pelayan dengan pengepala CORS yang sesuai, pengguna menghadapi kesukaran menggunakan localhost sebagai asal dalam skrip klien mereka .

Pelayan Konfigurasi

Pelayan disediakan dengan pengepala berikut:

Access-Control-Allow-Origin:http://localhost

Skrip Pelanggan

Skrip klien menggunakan objek XMLHttpRequest untuk membuat permintaan kepada 'http://stackoverflow.com/'.

var xhr = new XMLHttpRequest();
xhr.onload = function() {
   console.log('xhr loaded');
};
xhr.open('GET', 'http://stackoverflow.com/');
xhr.send();

Ralat

Walau bagaimanapun, permintaan itu gagal dengan ralat berikut:

XMLHttpRequest cannot load http://stackoverflow.com/. Origin http://localhost is not allowed by Access-Control-Allow-Origin.

Penyelesaian

Walaupun konfigurasi pelayan kelihatan betul, isunya terletak dalam penggunaan 'localhost' sebagai asal dalam skrip klien.

Chrome tidak menyokong localhost untuk permintaan CORS disebabkan oleh pepijat yang ditandakan sebagai "WontFix" pada tahun 2014.

Penyelesaian

Untuk mengelakkan isu ini, gunakan domain yang memutuskan untuk 127.0.0.1, seperti 'localho.st' atau lancarkan Chrome dengan bendera '--disable-web-security' untuk tujuan ujian.

Atas ialah kandungan terperinci Mengapa Permintaan CORS Localhost Saya Gagal ke stackoverflow.com Walaupun Pengepala Pelayan Betul?. 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