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
Patricia Arquetteoriginal
2024-12-04 16:49:11187parcourir

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() }}">
  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')
      }
    });

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

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!

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