Rumah > Artikel > pembangunan bahagian belakang > Bagaimana untuk Membetulkan Ralat 419 POST dalam Permintaan Ajax dengan Laravel?
Ajax LARAVEL 419 POST Ralat Selesai
Ralat ini biasanya berlaku apabila cuba membuat permintaan Ajax POST tanpa pengesahan token CSRF yang betul. Laravel melaksanakan perlindungan token CSRF untuk menghalang permintaan hasad daripada sumber luaran.
Masalah:
Anda menghadapi ralat POST semasa membuat panggilan Ajax ke titik akhir /company.
Penyelesaian:
Untuk menyelesaikan isu ini, anda perlu memasukkan token CSRF dalam permintaan Ajax anda. Anda boleh melakukan ini dengan menambahkan coretan kod berikut pada panggilan Ajax anda:
$.ajaxSetup({ headers: { 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') } });
Ini akan menambah token CSRF yang dijana pada pengepala permintaan Ajax anda, memastikan Laravel boleh mengesahkan bahawa permintaan itu datang daripada pengguna yang disahkan.
Penjelasan:
Laravel secara automatik menjana token CSRF unik untuk setiap sesi pengguna aktif. Token ini disimpan dalam teg meta dalam dokumen HTML anda:
<meta name="csrf-token" content="your-generated-token" />
Apabila panggilan Ajax anda dibuat, token CSRF mesti sepadan dengan token yang disimpan dalam teg meta. Jika ia tidak sepadan, Laravel akan menolak permintaan dengan ralat 419.
Penyelesaian Alternatif:
Jika anda ingin mengecualikan laluan URI tertentu daripada pengesahan token CSRF , anda boleh menambahkannya pada tatasusunan berikut dalam perisian tengah VerifyCSRFToken:
protected $except = [ '/route_you_want_to_ignore', '/route_group/*' ];
Atas ialah kandungan terperinci Bagaimana untuk Membetulkan Ralat 419 POST dalam Permintaan Ajax dengan Laravel?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!