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>
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>
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!