Mengendalikan Ketidakpadanan Token CSRF dalam Permintaan Ajax POST Laravel
Apabila cuba memadam data daripada pangkalan data menggunakan permintaan Ajax POST, pembangun mungkin menghadapi ralat "csrf_token mismatch". Isu ini timbul apabila rangka kerja Laravel menggunakan perlindungan Cross-Site Request Forgery (CSRF) dan permintaan masuk tidak mempunyai token CSRF yang sah.
Untuk membetulkan isu ini, adalah penting untuk memasukkan parameter data dalam Ajax minta dan sertakan kedua-dua nilai "_token" dan "id". Nilai "_token" ialah token CSRF yang menghalang permintaan yang tidak dibenarkan, manakala nilai "id" mengenal pasti rekod yang akan dipadamkan.
Kod Ajax yang disemak di bawah:
$('body').on('click', '.delteadd', function (e) { e.preventDefault(); if (confirm('Are you sure you want to Delete Ad ?')) { var id = $(this).attr('id'); $.ajax({ method: "POST", url: "{{url()}}/delteadd", data: { "_token": "{{ csrf_token() }}", "id": id } }).done(function( msg ) { if(msg.error == 0){ alert(msg.message); }else{ alert(msg.message); } }); } else { return false; } });
Dengan menambah parameter data ini, permintaan Ajax memastikan token dan data CSRF yang betul disertakan, memintas "csrf_token ralat tidak sepadan" dan membenarkan pemadaman data yang berjaya daripada pangkalan data.
Atas ialah kandungan terperinci Bagaimana untuk Menyelesaikan Ralat 'csrf_token mismatch' Laravel dalam Permintaan AJAX POST?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!