Faccio una chiamata Ajax ma continuo a ricevere questo errore:
419 (stato sconosciuto)
Non ho idea di cosa stia causando. Ho visto su altri post che deve fare qualcosa con il token csrf ma non ho forma quindi non so come risolvere questo problema.
la mia chiamata:
$('.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);
}
});
});
Il mio percorso:
Route::post('fetch-company/{companyId}', 'HomeController@fetchCompany');
Il mio metodo di controllo
/**
* Fetches a company
*
* @param $companyId
*
* @return array
*/
public function fetchCompany($companyId)
{
$company = Company::where('id', $companyId)->first();
return response()->json($company);
}
L'obiettivo finale è quello di visualizzare qualcosa dalla risposta in un elemento html.
{{csrf_field()}}
nel tuo modulo ??
{'_token': {{csrf_token()}}}
<meta name="csrf-token" content="{{ csrf_token() }}">