Heim > Backend-Entwicklung > PHP-Tutorial > Wie behebe ich den CSRF-Fehler „419 (Unbekannter Status)' von Laravel 5.5 AJAX?

Wie behebe ich den CSRF-Fehler „419 (Unbekannter Status)' von Laravel 5.5 AJAX?

Patricia Arquette
Freigeben: 2024-12-04 16:49:11
Original
164 Leute haben es durchsucht

How to Resolve the Laravel 5.5 AJAX

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:

  1. Generieren Sie das CSRF-Token im HTML-Header:
    Im Fügen Sie im Abschnitt Ihrer Ansicht Folgendes hinzu:

    <meta name="csrf-token" content="{{ csrf_token() }}">
    Nach dem Login kopieren
  2. 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')
      }
    });
    Nach dem Login kopieren

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);
    }
  });
});
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage