Fullcalendar 不显示 Json 数据

问题描述 投票:0回答:1

我想根据数据库中具有交易状态的报价数据中的项目日期显示日期。我使用 fullcalendar 作为用户界面。但是我的脚本无法显示控制器发送的 json 数据。我的全日历的用户界面视图仅显示今天的日期。

这是我为刀片视图页面制作的脚本。

<script>
            document.addEventListener('DOMContentLoaded', function() {
                var calendarEl = document.getElementById('calendar');
                var calendar = new FullCalendar.Calendar(calendarEl, {
                    initialView: 'dayGridMonth'
                });
                $.ajax({
                    url: "{{ route('calendar.quotations') }}",
                    type: 'GET',
                    dataType: "json",
                    success: function(data) {
                        data.forEach(function(event) {
                            calendar.addEvent({
                                title: event.title,
                                start: event.start
                            });
                        });
                    },
                });
                calendar.render();
            });
        </script>

这是我的路线

Route::get('calendar', [App\Http\Controllers\CalendarController::class, 'index'])->name('calendar.index')->middleware('auth');
Route::get('quotations/events', [App\Http\Controllers\CalendarController::class, 'getQuotations'])->name('calendar.quotations')->middleware('auth');

控制器是这样的。

public function index()
    {
        return view('calendar.index');
    }

    public function getQuotations()
    {
        $quotations = Quotation::where('status', 'deal')->get()->map(function ($quotation) {
            $cleanedDate = substr($quotation->project_date, 0, 8);
            $startDate = Carbon::createFromFormat('d-m-y', $cleanedDate)->format('Y-m-d');
    
            return [
                'title' => $quotation->project_name,
                'start' => $startDate,
            ];
        });
    
        return response()->json($quotations);
    }

我需要帮助。我想根据数据库中具有交易状态的报价数据中的项目日期显示日期。我使用 fullcalendar 作为 UI。

javascript jquery fullcalendar laravel-11
1个回答
0
投票

感谢CBroe

因为你的评论 我意识到错误在哪里,我将控制器更改为这样。

 {
    $quotations = Quotation::where('status', 'deal')->get()->map(function ($quotation) {
        $cleanedDate = Carbon::createFromFormat('d-m-Y', $quotation->project_date)->format('Y-m-d');

        return [
            'title' => $quotation->project_name,
            'start' => $cleanedDate,
        ];
    });

    return response()->json($quotations);
}

一切都很好。

© www.soinside.com 2019 - 2024. All rights reserved.