Ich mache einen Ajax-Anruf, erhalte aber immer wieder den folgenden Fehler:
419 (unbekannter Status)
Keine Ahnung, was dies verursacht. Ich habe in anderen Posts gesehen, dass es etwas mit dem CSRF-Token zu tun hat, aber ich habe kein Formular, daher weiß ich nicht, wie ich das beheben soll.
Mein Anruf:
$('.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);
}
});
});
Meine Route:
Route::post('fetch-company/{companyId}', 'HomeController@fetchCompany');
Meine Controller-Methode
/**
* Fetches a company
*
* @param $companyId
*
* @return array
*/
public function fetchCompany($companyId)
{
$company = Company::where('id', $companyId)->first();
return response()->json($company);
}
Das ultimative Ziel ist es, etwas aus der Antwort in einem HTML-Element anzuzeigen.
{{csrf_field()}}
in deinem Formular hinzugefügt ?
{'_token': {{csrf_token()}}}
<meta name="csrf-token" content="{{ csrf_token() }}">