Rumah >hujung hadapan web >tutorial js >Mengapa Permintaan Pengambilan Reaksi Saya Gagal dengan \'Tamat Input Tidak Dijangka\' dalam Mod Tanpa CORS?

Mengapa Permintaan Pengambilan Reaksi Saya Gagal dengan \'Tamat Input Tidak Dijangka\' dalam Mod Tanpa CORS?

Susan Sarandon
Susan Sarandonasal
2024-12-09 03:49:09442semak imbas

Why Does My React Fetch Request Fail with

Respons Pengendalian: Pengakhiran Input yang Tidak Dijangka dengan Mod 'No-Cors'

Apabila cuba mengambil data daripada REST API menggunakan ReactJS, akhir ralat input yang tidak dijangka mungkin ditemui semasa menghuraikan respons. Ralat ini biasanya berlaku pada baris berikut:

return response.json();

Punca Punca: Mod 'No-Cors'

Ralat berasal daripada penggunaan 'no-cors' mod dalam permintaan pengambilan. Apabila mod ini didayakan, respons dianggap legap, bermakna JavaScript bahagian hadapan tidak boleh mengakses badan respons atau pengepala.

Penjelasan No-CORS

Tujuan menetapkan mod 'no-cors' adalah untuk menghalang kod JavaScript bahagian hadapan daripada mengakses respons yang tidak menetapkan pengepala Access-Control-Allow-Origin secara eksplisit. Langkah ini bertujuan untuk melindungi daripada serangan skrip merentas tapak (XSS).

Penyelesaian: Mengalih keluar Mod 'No-Cors'

Untuk menyelesaikan ralat, alih keluar tetapan 'no-cors' daripada permintaan. Ini akan membenarkan kod anda mengakses badan respons dan berjaya menghuraikan respons JSON.

Pertimbangan Tambahan

Jika anda menghadapi ralat ini tanpa menggunakan 'no-cors ' mod, pertimbangkan langkah berikut:

  • Pastikan pelayan dikonfigurasikan untuk menghantar Pengepala Access-Control-Allow-Origin dalam responsnya.
  • Jika permintaan mencetuskan prapenerbangan CORS, pertimbangkan untuk menggunakan proksi CORS untuk mengendalikan prapenerbangan dan menyampaikan respons.

Atas ialah kandungan terperinci Mengapa Permintaan Pengambilan Reaksi Saya Gagal dengan \'Tamat Input Tidak Dijangka\' dalam Mod Tanpa CORS?. 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