web-dev-qa-db-fra.com

poster une demande en utilisant axios on Laravel 5.5

j'essaie de faire quelques requêtes en utilisant axios et la dernière version de Laravel 5.5 après avoir configuré les champs X-CSRF et allmy code est simple:

        axios.post('/post-contact',{name:'Kamal Abounaim'})
        .then((response)=>{
            console.log(response)
        }).catch((error)=>{
            console.log(error.response.data)
        })

mais j'obtiens cette erreur: 419 (statut inconnu) quel est le problème supposé être Merci de votre réponse 

4
Kamal L'azz

Cela se produit à cause du jeton csrf. Ajoutez simplement une balise meta avec le jeton csrf dans le <head> et ajoutez ce jeton à l'en-tête axios comme suit.

// in the <head>
<meta name="csrf-token" content="{{ csrf_token() }}">

<script type="text/javascript">
    // For adding the token to axios header (add this only one time).
    var token = document.head.querySelector('meta[name="csrf-token"]');
    window.axios.defaults.headers.common['X-CSRF-TOKEN'] = token.content;

    // send contact form data.
    axios.post('/post-contact',{name:'Kamal Abounaim'
    }).then((response)=>{
        console.log(response)
    }).catch((error)=>{
        console.log(error.response.data)
    });
</script>
8
Abdalla Arbab

Une erreur 419 semble être Authentification Timeout . Votre code me semble bien, alors il semble que l'erreur soit avec le noeud final post-contact? Essayez de tester ce terminal uniquement, dans un outil tel que postman.

0
fredrivett

C'est le middleware VerifyCsrfToken ... Il suffit de le commenter.

protected $middlewareGroups = [
        'web' => [
            .. middlewares before
            //\App\Http\Middleware\VerifyCsrfToken::class, -> comment this or delete
            .. other
        ],

        'api' => [
            'throttle:60,1',
            'bindings',
        ],
    ];

J'ai le même problème et merci à @abdalla arbab :)

0
Dulo