Maison > développement back-end > tutoriel php > Comment résoudre l'erreur CSRF Laravel 5.5 AJAX « 419 (état inconnu) » ?

Comment résoudre l'erreur CSRF Laravel 5.5 AJAX « 419 (état inconnu) » ?

Patricia Arquette
Libérer: 2024-12-04 16:49:11
original
164 Les gens l'ont consulté

How to Resolve the Laravel 5.5 AJAX

Appels AJAX Laravel 5.5 : résolution de l'erreur « 419 (statut inconnu) »

Lors de l'exécution de requêtes AJAX dans Laravel 5.5, vous pouvez rencontrer l'erreur "419 (Statut inconnu)". Cela indique généralement un problème avec la vérification du jeton CSRF (Cross-Site Request Forgery).

Comprendre la protection CSRF de Laravel

Le mécanisme de protection CSRF de Laravel empêche la soumission de requêtes non autorisées via votre site Web. Pour ce faire, il génère un jeton unique qui doit être inclus avec chaque requête POST.

Correction de l'erreur 419

Pour corriger l'erreur 419, vous devez vous assurer que votre requête AJAX est correctement protégée par le jeton CSRF. Vous pouvez le faire en deux étapes :

  1. Générer le jeton CSRF dans l'en-tête HTML :
    Dans la zone de votre vue, ajoutez ce qui suit :

    <meta name="csrf-token" content="{{ csrf_token() }}">
    Copier après la connexion
  2. Récupérer le jeton CSRF en JavaScript :
    Dans la configuration de votre requête AJAX, récupérez le jeton CSRF à partir du balise dans l'en-tête :

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

Exemple de mise en œuvre

Voici une version mise à jour de votre appel AJAX avec la protection du jeton CSRF :

$('.company-selector li > a').click(function(e) {
  e.preventDefault();

  var companyId = $(this).data("company-id");

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

  $.ajax({
    url: '/fetch-company/' + companyId,
    dataType: 'json',
    type: 'POST',
    data: {},
    contentType: false,
    processData: false,
    success: function(response) {
      console.log(response);
    }
  });
});
Copier après la connexion

En intégrant ces changements, vos requêtes AJAX seront protégées contre les attaques CSRF, résolvant ainsi le Erreur "419 (Statut inconnu)".

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