Tôi thực hiện một cuộc gọi ajax nhưng tôi vẫn nhận được lỗi này:
419 (không rõ tình trạng)
Không biết điều gì gây ra điều này tôi đã thấy trên các bài đăng khác, nó phải làm gì đó với mã thông báo csrf nhưng tôi không có hình thức nên tôi không biết cách khắc phục điều này.
cuộc gọi của tôi:
$('.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);
}
});
});
Tuyến đường của tôi:
Route::post('fetch-company/{companyId}', 'HomeController@fetchCompany');
Phương pháp điều khiển của tôi
/**
* Fetches a company
*
* @param $companyId
*
* @return array
*/
public function fetchCompany($companyId)
{
$company = Company::where('id', $companyId)->first();
return response()->json($company);
}
Mục tiêu cuối cùng là hiển thị một cái gì đó từ phản hồi trong phần tử html.
{{csrf_field()}}
vào mẫu của bạn ??
{'_token': {{csrf_token()}}}
<meta name="csrf-token" content="{{ csrf_token() }}">