Heim >Backend-Entwicklung >PHP-Tutorial >Wie kann der Fehler „CSRF-Token-Nichtübereinstimmung' von Laravel in AJAX-POST-Anfragen behoben werden?
Beim Versuch, Daten aus einer Datenbank mithilfe einer AJAX-POST-Anfrage in Laravel zu löschen, kann der Fehler „CSRF Token-Nichtübereinstimmung.“ Dies liegt daran, dass Laravel in allen Formen ein CSRF-Token zum Schutz vor Cross-Site-Request-Forgery-Angriffen enthält.
Der bereitgestellte HTML- und AJAX-Code zeigt ein Setup zum Löschen Daten:
HTML:
@foreach($a as $lis) //some code <a href="#">
AJAX-Code:
$('body').on('click', '.delteadd', function (e) { e.preventDefault(); //alert('am i here'); if (confirm('Are you sure you want to Delete Ad ?')) { var id = $(this).attr('id'); $.ajax({ method: "POST", url: "{{url()}}/delteadd", }).done(function( msg ) { if(msg.error == 0){ //$('.sucess-status-update').html(msg.message); alert(msg.message); }else{ alert(msg.message); //$('.error-favourite-message').html(msg.message); } }); } else { return false; } });
Um den Fehler „CSRF-Token-Nichtübereinstimmung“ zu beheben, müssen Sie das CSRF-Token in Ihre AJAX-Anfrage einschließen. Dies kann durch Hinzufügen des folgenden Codes zu Ihrer Anfrage erfolgen:
data: { "_token": "{{ csrf_token() }}", "id": id }
Aktualisierter AJAX-Code:
$('body').on('click', '.delteadd', function (e) { e.preventDefault(); //alert('am i here'); 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){ //$('.sucess-status-update').html(msg.message); alert(msg.message); }else{ alert(msg.message); //$('.error-favourite-message').html(msg.message); } }); } else { return false; } });
Mit diesem Zusatz wird Ihre AJAX-Anfrage Folgendes enthalten: das CSRF-Token und die Daten, die Sie zum Durchführen des Löschvorgangs benötigen.
Das obige ist der detaillierte Inhalt vonWie kann der Fehler „CSRF-Token-Nichtübereinstimmung' von Laravel in AJAX-POST-Anfragen behoben werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!