Я пытаюсь сделать сообщение с ajax до laravel. При использовании метода get он отлично работает, но с POST он терпит неудачу.Laravel 5.2 ajax CSRF
Вот код: на моем app.blade, я поставил:
<meta name="csrf-token" content="{{ csrf_token() }}" />
на моем view.blade, я следующий код: АЯКС
$(document).ready(function() {
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});
$('#employeeActivityTable').DataTable({
ajax: {
url: "{!! route('ajaxactivityperemployee') !!}",
type: "POST"
},
columns: [
{ data: 'employee_id', name: 'employee_id' },
{ data: 'employee_name', name: 'employee_name' },
{ data: 'month', name: 'month' },
{ data: 'sum_task_hour', name: 'sum_task_hour' }
],
columnDefs: [
{
"targets": [ 0 ],
"visible": false,
"searchable": false
}
]
});
...
Я знаю, что мои маршруты работают, потому что у меня было все с GET, и он работал нормально, и я только изменил его на POST, и я попал в инструмент устранения неполадок:
Failed to load resource: the server responded with a status of 500 (Internal Server Error)
А вот мои маршруты:
//Employee activity
Route::get('employeeactivity', ['uses'=>'[email protected]','as'=>'employeeactivity']);
//AJAX
//Activity per employee
Route::get('activityperemployee', ['uses'=>'Ajax\[email protected]','as'=>'ajaxactivityperemployee']);
Route::get('activityperproject', ['uses'=>'Ajax\[email protected]','as'=>'ajaxactivityperproject']);
Route::post('activityperemployee', ['uses'=>'Ajax\[email protected]']);
и вот контроллер Аякса:
public function getActivityPerEmployee()
{
$return = $this->activityRepository->getActivityPerEmployee();
$data = Datatables::of($return)->make(true);
return $data;
}
public function postActivityPerEmployee(Request $request)
{
$where = [['col'=>'employee_id','val'=>'13'],['col'=>'month','val'=>'Jan']];
$return = $this->activityRepository->getActivityPerEmployee($where);
$data = Datatables::of($return)->make(true);
return $data;
}
public function getActivityPerProject()
{
$return = $this->activityRepository->getActivityPerProject();
$data = Datatables::of($return)->make(true);
return $data;
}
Опять же, если в запросе Ajax, изменить тип с POST на GET, все отлично работает.
показать нам маршрут значит – greener
500 Ошибка, что у вас есть problème на вашем сервере, вы можете показать нам свой маршрут и контроллер действий? – zorx
Проверьте журнал Laravel для получения более подробной информации об ошибке 500. – ceejayoz