Http Veröffentlichen Sie Laravel mit fetch api mit TokenMismatchException

8

Ich versuche einen HTTP-Post mit fetch api zu erstellen. Obwohl ich das Token sende, erhalte ich die Fehlermeldung TokenMismatchException in VerifyCsrfToken.php . Wie kann ich mit fetch api telefonieren? (Ich habe auch versucht mit jQuery Ajax und es funktioniert perfekt) Heres der Fetch API-Code

%Vor%

Ich habe Token in dieser Form hinzugefügt

%Vor%

Dieser jQuery-Ajax-Aufruf funktioniert einwandfrei:

%Vor%

jQuery ajax Call Header

Holen Sie api Call-Header

    
Abhishek Kumar 05.07.2016, 06:26
quelle

4 Antworten

8

Endlich konnte ich es zum Laufen bringen:)

Es gab zwei Änderungen, die ich machen musste

1) Fetch Api verwenden standardmäßig kein Cookie. Um es Cookie zu verwenden, fügte ich

hinzu

credentials: "same-origin"

2) Die Daten müssen im Format form data anstatt json

eingereicht werden

Also hier ist mein Arbeitscode

%Vor%     
Abhishek Kumar 05.07.2016, 10:40
quelle
1

Ich kann zu spät zur Party kommen, aber das funktioniert auch

%Vor%     
Similoluwa Oluwatomi 03.02.2018 00:43
quelle
0

Nach ein paar Nachforschungen sollten Sie hier einen Trick machen:

%Vor%

Es wird auch nicht funktionieren, wenn Sie Chrome & lt; 41

    
GONG 05.07.2016 10:26
quelle
-1

Wenn Sie Form verwenden, denken Sie daran,

hinzuzufügen %Vor%

oder bei Verwendung von Blade-Tasten:

%Vor%

Das Hinzufügen dieser Stelle (normalerweise oben am Körper) reicht für alle Ihre JavaScript-gesteuerten Schaltflächen aus. Wenn Sie Blade zum Generieren des Formulars verwenden, wird dieses automatisch hinzugefügt, also müssen Sie dies nicht tun.

Und ändern Sie _token in csrf-token wie von GONG erwähnt

    
Ken Seah 05.07.2016 07:50
quelle