У меня есть следующий скрипт в блейде. php:
document.addEventListener('DOMContentLoaded', function() {
var calendarEl = document.getElementById('calendar');
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});
var SITEURL = "{{url('/dash')}}";
var calendar = new FullCalendar.Calendar(calendarEl, {
plugins: [ 'bootstrap', 'interaction', 'dayGrid', 'timeGrid'],
header: {
left: 'prev,next today',
center: 'title',
right: 'dayGridMonth,timeGridWeek,timeGridDay,'
},
themeSystem: 'bootstrap',
editable: true,
navLinks: true,
events: SITEURL + "/calendar",
displayEventTime: true,
defaultView: 'timeGridWeek',
selectable: true,
selectHelper: true,
eventRender: function (event, element, view) {
if (event.allDay === 'true') {
event.allDay = true;
} else {
event.allDay = false;
}
},
И в контроллере эта часть, которая получает события из базы данных:
public function index(Request $request)
{
if(request()->ajax()) {
$returnedColumns = ['id', 'title', 'start', 'end'];
$start = (!empty($request->start)) ? ($request->start) : ('');
$end = (!empty($request->end)) ? ($request->end) : ('');
$events = Event::whereBetween('start', [$start, $end])->get($returnedColumns);
return response()->json($events);
}
return view('/dash/calendar');
}
Json выглядит следующим образом, если я удаляю часть if(request()->ajax()) {
:
[{"id": 347, "title": "Unavailable", "start": "2020-02-11 06: 00:00 "," end ":" 2020-02-11 06:30:00 "}]
Кажется, запрос работает нормально, но я получил JSON ошибку разбора, и календарь только что выиграл ' показать события. В чем может быть проблема?