Maison > développement back-end > tutoriel php > Comment résoudre l'erreur « csrf_token mismatch » de Laravel dans les requêtes AJAX POST ?

Comment résoudre l'erreur « csrf_token mismatch » de Laravel dans les requêtes AJAX POST ?

Susan Sarandon
Libérer: 2024-12-14 16:12:11
original
673 Les gens l'ont consulté

How to Solve Laravel's

Gestion des disparités de jetons CSRF dans les requêtes Ajax POST de Laravel

Lors de la tentative de suppression de données d'une base de données à l'aide d'une requête Ajax POST, les développeurs peuvent rencontrer une erreur « incompatibilité csrf_token ». Ce problème survient lorsque le framework Laravel utilise la protection CSRF (Cross-Site Request Forgery) et que la requête entrante ne dispose pas d'un jeton CSRF valide.

Pour résoudre ce problème, il est crucial d'incorporer un paramètre de données dans l'Ajax. request et incluez les valeurs "_token" et "id". La valeur "_token" est un jeton CSRF qui empêche les requêtes non autorisées, tandis que la valeur "id" identifie l'enregistrement à supprimer.

Le code Ajax révisé ci-dessous :

$('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;
    }
});
Copier après la connexion

En ajoutant ce paramètre de données, la requête Ajax garantit que le jeton CSRF et les données corrects sont inclus, contournant l'erreur "csrf_token mismatch" et permettant une suppression réussie des données du base de données.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal