FULLCALENDAR Ajax-запрос отправляется дважды, иногда безуспешно - PullRequest
0 голосов
/ 11 октября 2019

Так что в основном у меня есть полный календарь. У меня есть 2 обработчика, eventDrop и eventDragStop.

оба

handler(doc)
   input(doc)

теперь input - это функция, которая отправляет запрос Ajax моему контроллеру.

function input(doc) {
    $.ajax({
        type: 'PATCH',
        // TODO: For online, remove .replace
        url: route('calendar.update', doc.event.id).replace('localhost', 'localhost/oda/public'),
        data: {
            title: doc.event.title,
            description: doc.event.extendedProps.description,
            project_id:doc.event.extendedProps.project_id,
            date_from:moment(doc.event.start).format('YYYY-MM-DD'),
            date_until:moment(doc.event.end).format('YYYY-MM-DD'),
            time_from:doc.event.extendedProps.timestart,
            time_until:doc.event.extendedProps.timeend
        }
    });
}

Ну, в принципе, если я EventDrop событие, оно отправляется дважды, потому что по какой-то причине EventDragStop также запускается. Но когда я перетаскиваю событие, оно отправляется только один раз.

Вот так выглядит мой контроллер.

public function update(Request $request, $id)
{
    Task::find($id)->update([
        'date_from' => $request->date_from,
        'date_until' => $request->date_until,
        'time_from' => $request->time_from,
        'time_until' => $request->time_until,
        'title' => $request->title,
        'description' => $request->description
    ]);
}

Теперь это действительно странная часть.

Иногда событие обновляется, иногда нет.

1/10 - нет, а если я иду очень быстро, 3/10 раз оно не обновляется. .

Мои Ajax-запросы иногда занимают до 1,6 секунды с возвратом, но обычный запрос занимает около 900 мс (все еще очень долго).

https://pastebin.com/cUh5Dy9z очень длинная неинтересная вставка, есливам нужно перейти более конкретно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...