Umgang mit CSRF-Token-Konflikten in Laravels Ajax-POST-Anfragen
Beim Versuch, Daten aus einer Datenbank mithilfe einer Ajax-POST-Anfrage zu löschen, kann es zu Problemen kommen ein Fehler „csrf_token mismatch“. Dieses Problem tritt auf, wenn das Laravel-Framework den Cross-Site Request Forgery (CSRF)-Schutz verwendet und der eingehenden Anfrage kein gültiges CSRF-Token fehlt.
Um dieses Problem zu beheben, ist es wichtig, einen Datenparameter in Ajax zu integrieren Anfrage stellen und sowohl die Werte „_token“ als auch „id“ einschließen. Der „_token“-Wert ist ein CSRF-Token, das unbefugte Anfragen verhindert, während der „id“-Wert den zu löschenden Datensatz identifiziert.
Der überarbeitete Ajax-Code unten:
$('body').on('click', '.delteadd', function (e) { e.preventDefault(); if (confirm('Are you sure you want to Delete Ad ?')) { var id = $(this).attr('id'); $.ajax({ method: "POST", url: "{{url()}}/delteadd", data: { "_token": "{{ csrf_token() }}", "id": id } }).done(function( msg ) { if(msg.error == 0){ alert(msg.message); }else{ alert(msg.message); } }); } else { return false; } });
Durch Hinzufügen Mit diesem Datenparameter stellt die Ajax-Anfrage sicher, dass das richtige CSRF-Token und die richtigen Daten enthalten sind, umgeht den Fehler „csrf_token mismatch“ und ermöglicht eine erfolgreiche Datenlöschung aus dem Datenbank.
Das obige ist der detaillierte Inhalt vonWie kann der Fehler „csrf_token mismatch' von Laravel in AJAX-POST-Anfragen behoben werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!