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
Susan Sarandonoriginal
2024-12-14 16:12:11766parcourir

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;
    }
});

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!

Déclaration:
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