Je fais un appel ajax mais j'obtiens toujours cette erreur:
419 (état inconnu)
Aucune idée de la cause de cela, j'ai vu sur d'autres messages, il doit faire quelque chose avec le jeton csrf mais je n'ai pas de formulaire, donc je ne sais pas comment résoudre ce problème.
mon appel:
$('.company-selector li > a').click(function(e) {
e.preventDefault();
var companyId = $(this).data("company-id");
$.ajax({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
},
url: '/fetch-company/' + companyId,
dataType : 'json',
type: 'POST',
data: {},
contentType: false,
processData: false,
success:function(response) {
console.log(response);
}
});
});
Mon itinéraire:
Route::post('fetch-company/{companyId}', 'HomeController@fetchCompany');
Ma méthode de contrôleur
/**
* Fetches a company
*
* @param $companyId
*
* @return array
*/
public function fetchCompany($companyId)
{
$company = Company::where('id', $companyId)->first();
return response()->json($company);
}
Le but ultime est d'afficher quelque chose de la réponse dans un élément html.
{{csrf_field()}}
dans votre formulaire ??
{'_token': {{csrf_token()}}}
<meta name="csrf-token" content="{{ csrf_token() }}">