Laravel 5.5 AJAX Call Returns "419 (Status Tidak Diketahui)
Apabila melakukan panggilan AJAX dalam Laravel 5.5, menghadapi ralat "419 (Status Tidak Diketahui)" boleh mengecewakan. Ralat ini selalunya menunjukkan isu perlindungan Pemalsuan Permintaan Silang Tapak (CSRF) Artikel ini meneroka punca ralat ini dan menyediakan penyelesaian menyeluruh untuk menyelesaikannya.
Laravel menggunakan. Perlindungan CSRF untuk melindungi daripada tindakan yang tidak dibenarkan yang dimulakan melalui permintaan luar Ia melibatkan pengesahan bahawa permintaan itu datang daripada sumber yang sah, mencegah hasad pelakon daripada melaksanakan tindakan berniat jahat bagi pihak pengguna.
Jika tiada borang dalam kod anda, ralat timbul kerana token yang disediakan dalam permintaan AJAX tidak tidak sepadan dengan yang disimpan dalam sesi Untuk membetulkannya, anda perlu memastikan bahawa aplikasi anda menjana token CSRF dan memasukkannya ke dalam Permintaan AJAX dengan betul.
Sertakan teg meta berikut dalam bahagian kepala HTML anda:
<meta name="csrf-token" content="{{ csrf_token() }}">
Teg meta ini menjana token CSRF yang unik dan menyimpannya dalam sesi penyemak imbas.
Kemas kini permintaan AJAX anda untuk mendapatkan semula token CSRF daripada teg meta:
$.ajax({ url: '/fetch-company/' + companyId, method: 'POST', headers: { 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content'), }, ... });
Pastikan perlindungan CSRF didayakan dalam aplikasi Laravel anda dengan menyemak perisian tengah apl/Http/Middleware/VerifyCsrfToken.php. Ia perlu ditambahkan pada tatasusunan $middlewareGroups['web'] dalam fail kernel.php.
Dengan melaksanakan langkah-langkah ini, anda boleh menyelesaikan masalah "419 (Status Tidak Diketahui) dengan berkesan) " ralat semasa membuat panggilan AJAX dalam Laravel 5.5. Ingat, perlindungan CSRF adalah penting untuk mengekalkan keselamatan aplikasi web anda, jadi adalah penting untuk mengikuti garis panduan ini dengan teliti. Rujuk dokumentasi rasmi Laravel untuk mendapatkan maklumat lanjut tentang perlindungan CSRF.
Atas ialah kandungan terperinci Mengapa Panggilan AJAX Laravel 5.5 Saya Mengembalikan Ralat '419 (Status Tidak Diketahui)'?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!