Tamat Input Tidak Dijangka: Menyelesaikan SyntaxError dengan Ambil Panggilan dalam ReactJS
Apabila cuba mengendalikan respons daripada panggilan REST API menggunakan ReactJS, anda mungkin menghadapi ralat berikut:
SyntaxError: Unexpected end of input
Ralat ini sering berlaku apabila menggunakan mod: tetapan 'no-cors' dalam permintaan pengambilan anda.
Apakah itu CORS (Perkongsian Sumber Silang Asal)?
CORS ialah mekanisme keselamatan yang menghalang skrip daripada asal yang berbeza (iaitu, tapak web atau URL yang berbeza) daripada mengakses dan mengubah suai sumber pada asal lain. Ia memastikan skrip yang tidak dibenarkan tidak boleh mencuri atau memanipulasi data daripada tapak web lain.
Mengapa Mod 'no-cors' Menyebabkan Isu
Dengan menetapkan mod: 'no-cors' , anda secara jelas memberitahu penyemak imbas supaya tidak melakukan sebarang permintaan prapenerbangan atau menghantar pengepala CORS. Ini bermakna bahawa respons daripada pelayan akan menjadi legap kepada kod JavaScript bahagian hadapan anda.
Cara Menyelesaikan Ralat
Untuk menyelesaikan ralat, anda perlu mengalih keluar mod: tetapan 'no-cors' daripada permintaan pengambilan anda. Ini akan membolehkan penyemak imbas menghantar pengepala CORS yang diperlukan dan mengendalikan respons dengan sewajarnya.
Penyelesaian Ganti
Jika anda tidak dapat mengalih keluar mod: 'no-cors ' tetapan disebabkan konfigurasi atau pengehadan pelayan, pertimbangkan untuk menggunakan salah satu daripada yang berikut penyelesaian:
Konfigurasikan Pelayan:
Gunakan Proksi CORS:
Dengan mengikut pengesyoran ini, anda boleh mengendalikan respons daripada panggilan API REST dengan berkesan dalam ReactJS, mengelakkan ralat "Tamat input yang tidak dijangka" yang disebabkan oleh mod: 'tidak -tetapan cors.
Atas ialah kandungan terperinci Bagaimana untuk Membetulkan \'SyntaxError: Penghujung Input yang tidak dijangka\' dalam React Fetch Calls?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!