Maison > développement back-end > tutoriel php > Pourquoi est-ce que je reçois une erreur POST 419 dans mes requêtes Laravel Ajax ?

Pourquoi est-ce que je reçois une erreur POST 419 dans mes requêtes Laravel Ajax ?

Linda Hamilton
Libérer: 2024-11-03 02:16:02
original
571 Les gens l'ont consulté

Why Am I Getting a 419 POST Error in My Laravel Ajax Requests?

Comprendre et résoudre les erreurs POST Ajax Laravel 419

L'erreur Laravel 419 POST est un problème courant qui survient dans les requêtes Ajax. Cela se produit en raison de l'absence de jetons de protection CSRF (Cross-Site Request Forgery) dans l'en-tête de la demande. Laravel implémente la protection CSRF par défaut pour empêcher les requêtes malveillantes provenant de sources externes.

Cause première de l'erreur 419

Laravel génère un jeton CSRF unique pour chaque session utilisateur active. Ce jeton permet de vérifier que l'utilisateur authentifié est bien celui qui fait la demande. Si la requête ne contient pas le bon jeton CSRF, Laravel renverra une erreur 419.

Configuration de l'appel Ajax

Dans l'appel Ajax fourni, le X-CSRF- L’en-tête TOKEN est manquant. Ajoutez cette ligne à la configuration de votre appel Ajax pour inclure le jeton dans chaque requête :

<code class="javascript">$.ajaxSetup({
    headers: {
        'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
    }
});</code>
Copier après la connexion

Cela garantit que le jeton CSRF est inclus dans chaque requête Ajax, ce qui le rend compatible avec la protection CSRF de Laravel.

Solution alternative : exclure des routes de la vérification CSRF

Alternativement, vous pouvez exclure certaines routes de la vérification des jetons CSRF dans le middleware VerifyCSRFToken. Dans app/Http/Kernel.php, ajoutez les routes souhaitées à la propriété $sauf :

<code class="php">protected $except = [
    '/route_you_want_to_ignore',
    '/route_group/*
];</code>
Copier après la connexion

Cela exemptera les routes spécifiées de la vérification du jeton CSRF, leur permettant de contourner l'erreur 419 pour les requêtes Ajax.

Conclusion

En incluant le jeton CSRF dans la requête Ajax ou en excluant la route de la vérification CSRF, vous pouvez résoudre efficacement l'erreur Ajax Laravel 419 POST et garantir l'intégrité des demandes de votre candidature.

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