J'arrive d'une erreur Laravel 419 lors de l'utilisation d'Ajax et je n'ai aucune idée de ce qui cause cela.
J'ai vu sur d'autres messages, il doit faire quelque chose avec jeton CSRF code> , mais je n'ai aucune forme alors je ne sais pas comment résoudre ce problème. P>
function check_login_auth(id) {
var email_address = $("input[name=l_email_address]").val();
var password = $("input[name=l_password]").val();
var token = $("meta[name=csrf-token]").attr("content");
$.ajax({
type: "POST",
url: baseurl+"route",
data: {
email:email_address,
password:password,
_token:token
},
dataType: 'json',
beforeSend: function() {
$('#l_loading_gif').show()
$('#l_login_form').hide()
},
success: function (data) {
// console.log(data)
},
});
} else {
$('#s_error').append('<p style="color: red">something went wrong.</p>')
}
}
4 Réponses :
Vous appelez la méthode postale afin que vous ayez besoin de passer csrf_token code> dans les en-têtes.
headers:
{
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
Utilisez-vous Ajax dans le fichier JS?
Erreur 419: "Message": "", "exception": "Symfony \\ composant \\ httpkernel \\ exception \\ httpexception",
Oui, j'utilise d'abord méta mais je ne travaille toujours pas alors je déplace l'en-tête: X-CSRF-Jetken
son projet Laravel
<script> $.ajaxSetup({ headers: { 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') } }); </script>
Tout d'abord, vous devez d'abord obtenir le ou p> ou p> alors vous devez transmettre ces données dans p> csrf-jeton code> de manière appropriée
Avez-vous CSRF_Token code> de votre valeur de demande AJAX
Lorsque vous faites des demandes postales à Laravel, il s'attend à ce que un jeton CSRF protège vos demandes, même si vous n'utilisez pas de formulaire. Je vous suggère de passer à Axios car il est facilement configurable.
avec axios, vous pouvez faire quelque chose comme ceci p>
_Token: jeton code> aurait dû être suffisant en supposant que votre jeton soit dans la balise méta spécifiée. Essayez de vérifier la réponse du serveur initiale pour le cookie de session (le nom doit être indiqué dans
config / sessions.php code>, puis vérifiez si la cookie étant envoyée par la demande Ajax est la même.
Est-ce que cela répond à votre question? Laravel 5.5 Ajax Call 419 (Statut inconnu)
Non, il ne fonctionne pas non plus pour moi _Token: {{csrf_token ()}} ... Erreur Santax Afficher