Heim >Backend-Entwicklung >PHP-Tutorial >Laravel 5.5 AJAX 419-Fehler: Wie behebt man CSRF-Token-Probleme?
Frage:
Ich führe eine durch AJAX-Aufruf in Laravel 5.5, es wird jedoch der Fehler „419 (unbekannter Status)“ angezeigt. Obwohl auf meiner Seite keine Formulare vorhanden sind, vermute ich, dass das Problem beim CSRF-Token liegt. Wie kann ich das beheben?
Antwort:
Clientseitig:
Fügen Sie in Ihrem HTML-Kopfbereich das ein Folgendes:
<meta name="csrf-token" content="{{ csrf_token() }}">
Dadurch wird ein eindeutiges CSRF-Token generiert, das der Server zur Validierung eingehender Daten verwendet Anfragen.
AJAX-Anfrage:
Ändern Sie Ihre AJAX-Anfrage, um das CSRF-Token in die Header aufzunehmen:
$.ajaxSetup({ headers: { 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') } });
Dadurch wird sichergestellt, dass der Server kann den Ursprung der Anfrage überprüfen und CSRF-Angriffe verhindern.
Laravel Middleware (Optional):
Laravel wendet automatisch die CSRF-Middleware an, um POST-Anfragen zu schützen. Um diese Middleware für bestimmte Routen zu deaktivieren (z. B. die, die Ihren AJAX-Aufruf verarbeitet), fügen Sie die folgenden Zeilen zu Ihrer AppHttpMiddlewareVerifyCsrfToken-Middleware hinzu:
/** * The URIs that should be excluded from CSRF verification. * * @var array */ protected $except = [ '/fetch-company/*', ];
References:
Das obige ist der detaillierte Inhalt vonLaravel 5.5 AJAX 419-Fehler: Wie behebt man CSRF-Token-Probleme?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!