Laravel 10中FullCalendar GET请求无法返回预期JSON数据问题
问题:Laravel 10 + FullCalendar 刷新后无法加载数据库事件数据
环境信息
- Laravel版本:10
- PHP版本:8.1
问题详情
按照基于Laravel 8的FullCalendar集成AJAX教程操作,也试过其他Vue.js相关教程,当前进展最多:能创建事件并存入数据库,刷新页面之前也能删除已添加的事件,但刷新页面后日历无法加载数据库中已有的事件数据。怀疑是PHP版本问题,但未找到根本原因。
相关截图
刷新后数据未返回至日历:

成功添加事件至数据库:

数据库中已存储的事件数据:

尝试过的操作
查阅Laravel官方文档尝试实现JSON请求,但未解决问题。
相关代码
1. calendar.blade.php 中的GET请求代码
$(document).ready(function () { var SITEURL = "{{ url('/') }}"; $.ajaxSetup({ headers: { 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') } }); var calendar = $('#full_calendar_events').fullCalendar({ editable: true, editable: true, events: SITEURL + "/calendar-event", displayEventTime: true, eventRender: function (event, element, view) { if (event.allDay === 'true') { event.allDay = true; } else { event.allDay = false; } },
2. 模型(CrudEvents.php)代码
class CrudEvents extends Model { use HasFactory; protected $fillable = [ 'event_name', 'event_start', 'event_end' ]; }
3. 控制器代码
public function index(Request $request) { if($request->ajax()) { $data = CrudEvents::whereDate('event_start', '>=', $request->start) ->whereDate('event_end', '<=', $request->end) ->get(['id', 'event_name', 'event_start', 'event_end']); return response()->json($data); } return view('calendar'); }
4. 迁移文件代码
public function up(): void { Schema::create('crud_events', function (Blueprint $table) { $table->id(); $table->string('event_name'); $table->date('event_start'); $table->date('event_end'); $table->timestamps(); }); }
内容的提问来源于stack exchange,提问作者Koos12
相关产品推荐
相关产品推荐

