Wykonuję wywołanie Ajax, ale wciąż otrzymuję ten błąd:
419 (stan nieznany)
Nie mam pojęcia, co to powoduje, widziałem w innych postach, że musi coś zrobić z tokenem csrf, ale nie mam formularza, więc nie wiem, jak to naprawić.
mój telefon:
$('.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);
}
});
});
Moja trasa:
Route::post('fetch-company/{companyId}', 'HomeController@fetchCompany');
Moja metoda kontrolera
/**
* Fetches a company
*
* @param $companyId
*
* @return array
*/
public function fetchCompany($companyId)
{
$company = Company::where('id', $companyId)->first();
return response()->json($company);
}
Ostatecznym celem jest wyświetlenie czegoś z odpowiedzi w elemencie html.
{{csrf_field()}}
w swoim formularzu ??
{'_token': {{csrf_token()}}}
<meta name="csrf-token" content="{{ csrf_token() }}">