Laravel 5.5 AJAX-Aufrufe: Behebung des Fehlers „419 (Unbekannter Status)“
Beim Ausführen von AJAX-Anfragen in Laravel 5.5 kann Folgendes auftreten der Fehler „419 (Unbekannter Status)“. Dies weist im Allgemeinen auf ein Problem mit der Cross-Site Request Forgery (CSRF)-Token-Überprüfung hin.
Grundlegendes zum CSRF-Schutz von Laravel
Der CSRF-Schutzmechanismus von Laravel verhindert, dass unbefugte Anfragen übermittelt werden Ihre Website. Dies geschieht durch die Generierung eines eindeutigen Tokens, das bei jeder POST-Anfrage enthalten sein muss.
Behebung des 419-Fehlers
Um den 419-Fehler zu beheben, müssen Sie dies sicherstellen Ihre AJAX-Anfrage ist durch das CSRF-Token ordnungsgemäß geschützt. Sie können dies in zwei Schritten tun:
Generieren Sie das CSRF-Token im HTML-Header:
Im
<meta name="csrf-token" content="{{ csrf_token() }}">
Rufen Sie das CSRF-Token in JavaScript ab:
Rufen Sie innerhalb Ihrer AJAX-Anfrageeinrichtung das CSRF-Token ab aus der Tag im Header:
$.ajaxSetup({ headers: { 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') } });
Beispielimplementierung
Hier ist eine aktualisierte Version Ihres AJAX-Aufrufs mit dem CSRF-Token-Schutz:
$('.company-selector li > a').click(function(e) { e.preventDefault(); var companyId = $(this).data("company-id"); $.ajaxSetup({ headers: { 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') } }); $.ajax({ url: '/fetch-company/' + companyId, dataType: 'json', type: 'POST', data: {}, contentType: false, processData: false, success: function(response) { console.log(response); } }); });
Durch die Einbindung dieser Änderungen werden Ihre AJAX-Anfragen vor CSRF-Angriffen geschützt. Behebung des Fehlers „419 (Unbekannter Status)“.
Das obige ist der detaillierte Inhalt vonWie behebe ich den CSRF-Fehler „419 (Unbekannter Status)' von Laravel 5.5 AJAX?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!