當(dāng)用戶在我的日歷中拖放事件時,我正在使用 FullCalendar 并嘗試更新事件開始時間。這是我使用的附加到 eventDrop 回調(diào)的代碼(https://fullcalendar.io/docs/eventDrop): alert(info.event.id + ' was dropped on ' + info.event.start); $.ajax({ url: '/Post/dropPost', type: 'POST', data: { 'postSchedule': info.event.start, 'postId' : info.event.id }, }); },這與警報顯示正確的事件 ID 和正確的開始日期(格式如下:2020 年 5 月 5 日星期二 04:36:00)一樣有效。'/Post/dropPost' 方法也被調(diào)用并且 postId 變量被正常傳遞。但是,當(dāng)它更新我的數(shù)據(jù)庫時,postSchedule 總是更新為“00:00:00 00:00:00”。這是我的 dropPost 方法: public function dropPost() { $data=[]; $postSchedule = $_POST['postSchedule']; $postId = $_POST['postId']; $droppedPost = new PostModel; $data['id'] = $postId; $data['postSchedule'] = $postSchedule; $droppedPost->save($data); }通過閱讀 FullCalendar 文檔,我了解到日期應(yīng)該始終是 ISO8601 標(biāo)準(zhǔn): https: //fullcalendar.io/docs/date-parsing。那么為什么它不轉(zhuǎn)化為我的數(shù)據(jù)庫。我數(shù)據(jù)庫中的 postSchedule 列是 DateTime 類型。
1 回答

皈依舞
TA貢獻(xiàn)1851條經(jīng)驗 獲得超3個贊
我終于找到了答案。我需要在 info.event.start 屬性上使用 .toISOString() 。
工作代碼如下:
eventDrop: function(info) {
alert(info.event.id + ' was dropped on ' + info.event.start);
$.ajax({
url: '/Post/dropPost',
type: 'POST',
data: { 'postSchedule': info.event.start.toISOString(), 'postId' : info.event.id },
});
},
- 1 回答
- 0 關(guān)注
- 150 瀏覽
添加回答
舉報
0/150
提交
取消