Maison >développement back-end >tutoriel php >Comment corriger l'erreur 419 POST dans les requêtes Ajax avec Laravel ?

Comment corriger l'erreur 419 POST dans les requêtes Ajax avec Laravel ?

Barbara Streisand
Barbara Streisandoriginal
2024-10-30 20:13:02238parcourir

How to Fix the 419 POST Error in Ajax Requests with Laravel?

Erreur POST Ajax LARAVEL 419 résolue

Cette erreur se produit généralement lorsque vous tentez d'effectuer une requête Ajax POST sans vérification appropriée du jeton CSRF. Laravel implémente une protection par jeton CSRF pour empêcher les requêtes malveillantes provenant de sources externes.

Problème :

Vous rencontrez une erreur POST lorsque vous effectuez un appel Ajax vers le point de terminaison /company.

Solution :

Pour résoudre ce problème, vous vous devez inclure le jeton CSRF dans votre requête Ajax. Vous pouvez le faire en ajoutant l'extrait de code suivant à votre appel Ajax :

$.ajaxSetup({
    headers: {
        'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
    }
});

Cela ajoutera le jeton CSRF généré à l'en-tête de vos requêtes Ajax, garantissant que Laravel puisse vérifier que la requête provient de un utilisateur authentifié.

Explication :

Laravel génère automatiquement un Jeton CSRF pour chaque session utilisateur active. Ce jeton est stocké dans une balise méta de votre document HTML :

<meta name="csrf-token" content="your-generated-token" />

Lorsque votre appel Ajax est effectué, le jeton CSRF doit correspondre au jeton stocké dans la balise méta. S'ils ne correspondent pas, Laravel rejettera la demande avec une erreur 419.

Solution alternative :

Si vous souhaitez exclure certains chemins d'URI de la vérification du jeton CSRF , vous pouvez les ajouter au tableau suivant dans le middleware VerifyCSRFToken :

protected $except = [
    '/route_you_want_to_ignore',
    '/route_group/*'
];

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