Heim >Backend-Entwicklung >PHP-Tutorial >Warum gibt mein Laravel 5.5 AJAX-Aufruf den Fehler „419 (Unbekannter Status)' zurück?

Warum gibt mein Laravel 5.5 AJAX-Aufruf den Fehler „419 (Unbekannter Status)' zurück?

DDD
DDDOriginal
2024-12-01 19:08:14312Durchsuche

Why Does My Laravel 5.5 AJAX Call Return a

Laravel 5.5 AJAX-Aufruf gibt „419 (unbekannter Status)“ zurück

Einführung

Bei der Durchführung von AJAX-Aufrufen in Laravel 5.5 Der Fehler „419 (Unbekannter Status)“ kann oft frustrierend sein weist auf ein Problem mit dem Cross-Site Request Forgery (CSRF)-Schutz hin. Dieser Artikel untersucht die Ursache dieses Fehlers und bietet eine umfassende Lösung zu seiner Behebung.

Grundlegendes zum CSRF-Schutz

Laravel verwendet den CSRF-Schutz Schutz vor unbefugten Aktionen, die durch externe Anfragen eingeleitet werden. Dazu gehört die Überprüfung, ob die Anfrage von einer legitimen Quelle stammt, um zu verhindern, dass böswillige Akteure böswillige Aktionen auf einem Benutzer ausführen

Behebung des Fehlers „419“

Wenn in Ihrem Code kein Formular vorhanden ist, tritt der Fehler auf, weil das in der AJAX-Anfrage bereitgestellte Token nicht mit dem in der Sitzung gespeicherten Token übereinstimmt Um dies zu beheben, müssen Sie sicherstellen, dass Ihre Anwendung das CSRF-Token generiert und in die AJAX-Anfrage einschließt richtig.

Lösung

1. CSRF-Meta-Tag hinzufügen

Fügen Sie das folgende Meta-Tag in den Kopfbereich Ihres HTML-Codes ein:

<meta name="csrf-token" content="{{ csrf_token() }}">

Dieses Meta-Tag generiert ein eindeutiges CSRF-Token und speichert es in der Browsersitzung.

2. AJAX-Anfrage konfigurieren

Aktualisieren Sie Ihre AJAX-Anfrage, um das CSRF-Token aus dem Meta-Tag abzurufen:

$.ajax({
  url: '/fetch-company/' + companyId,
  method: 'POST',
  headers: {
    'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content'),
  },
  ...
});

3. CSRF-Schutz aktivieren

Stellen Sie sicher, dass der CSRF-Schutz in Ihrer Laravel-Anwendung aktiviert ist, indem Sie die Middleware app/Http/Middleware/VerifyCsrfToken.php überprüfen. Es sollte zum Array $middlewareGroups['web'] in der Datei kernel.php hinzugefügt werden.

Fazit

Durch die Implementierung dieser Schritte können Sie das Problem „419 (Unbekannter Status)“ effektiv beheben. „Fehler beim Tätigen von AJAX-Aufrufen in Laravel 5.5. Denken Sie daran, dass der CSRF-Schutz für die Aufrechterhaltung der Sicherheit Ihrer Webanwendung von entscheidender Bedeutung ist. Daher ist es wichtig, diese Richtlinien sorgfältig zu befolgen. Weitere Informationen zum CSRF-Schutz finden Sie in der offiziellen Laravel-Dokumentation.

Das obige ist der detaillierte Inhalt vonWarum gibt mein Laravel 5.5 AJAX-Aufruf den Fehler „419 (Unbekannter Status)' zurück?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn