Ajax LARAVEL 419 POST-Fehler behoben
Dieser Fehler tritt normalerweise auf, wenn versucht wird, eine Ajax-POST-Anfrage ohne ordnungsgemäße CSRF-Token-Überprüfung zu stellen. Laravel implementiert den CSRF-Token-Schutz, um böswillige Anfragen von externen Quellen zu verhindern.
Problem:
Beim Tätigen eines Ajax-Aufrufs an den /company-Endpunkt tritt ein POST-Fehler auf.
Lösung:
Um dieses Problem zu beheben, müssen Sie das CSRF-Token in Ihre Ajax-Anfrage aufnehmen. Sie können dies tun, indem Sie den folgenden Codeausschnitt zu Ihrem Ajax-Aufruf hinzufügen:
$.ajaxSetup({ headers: { 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') } });
Dadurch wird das generierte CSRF-Token zum Header Ihrer Ajax-Anfragen hinzugefügt, um sicherzustellen, dass Laravel überprüfen kann, ob die Anfrage von kommt ein authentifizierter Benutzer.
Erklärung:
Laravel generiert automatisch ein eindeutiges CSRF-Token für jede aktive Benutzersitzung. Dieses Token wird in einem Meta-Tag in Ihrem HTML-Dokument gespeichert:
<meta name="csrf-token" content="your-generated-token" />
Wenn Ihr Ajax-Aufruf erfolgt, muss das CSRF-Token mit dem im Meta-Tag gespeicherten Token übereinstimmen. Wenn sie nicht übereinstimmen, lehnt Laravel die Anfrage mit einem 419-Fehler ab.
Alternative Lösung:
Wenn Sie bestimmte URI-Pfade von der CSRF-Token-Überprüfung ausschließen möchten , können Sie sie dem folgenden Array in der VerifyCSRFToken-Middleware hinzufügen:
protected $except = [ '/route_you_want_to_ignore', '/route_group/*' ];
Das obige ist der detaillierte Inhalt vonWie behebe ich den 419 POST-Fehler in Ajax-Anfragen mit Laravel?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!