Как изменить: Fullcalendar генерирует запрос GET - PullRequest
0 голосов
/ 09 мая 2018

Я внедряю fullcalendar на моем сайте.

Я создал div с календарем в качестве идентификатора.

Я поместил данные из SQL-запроса в переменную php и использовал кодирование json, чтобы получить правильный формат.

Вот как я создаю календарь:

$html .= "<script src='/wp-content/plugins/biobelt/moment.min.js'></script>
        <script src='/wp-content/plugins/biobelt/fullcalendar.min.js'></script>
        <link rel= 'stylesheet' href='/wp-content/plugins/biobelt/fullcalendar.css' type='text/css'>
        <script>
            jQuery(document).ready(function() {
                var bevents = '".$buildingevents."'
                console.log(bevents)
                jQuery('#calendar').fullCalendar({
                    defaultDate: '" . $_SESSION['statDateFrom'] ."',
                    editable: true,
                    events: bevents,
                });
            });
        </script>";

Журнал консоли дает мне вывод массива, который я передаю событиям, и это правильный формат:

[{"id":"1","titre":"1","start":"2018-04-09 07:00:01","stop":"2018-04-09 11:00:00"},{"id":"2","titre":"1","start":"2018-04-09 07:00:01","stop":"2018-04-09 11:00:00"},{"id":"3","titre":"2","start":"2018-04-09 16:00:01","stop":"2018-04-09 21:00:00"},{"id":"4","titre":"2","start":"2018-04-09 16:00:01","stop":"2018-04-09 21:00:00"}, etc...

Что я получаю из этого: GET 403 Запрещенная ошибка

Я проверил в логах apache, это потому, что URL слишком длинный, так как каждое поле массива помещается в URL.
По какой-то причине я не хочу изменять строку запроса лимита в файле Apache Conf.
Я хочу сгенерировать POST вместо GET-запроса.
И я хотел бы знать, как он генерирует запрос GET, поскольку я нигде не помещал GET в свои файлы.

РЕДАКТИРОВАТЬ:
согласно: https://fullcalendar.io/docs/events-json-feed Fullcalendar создать запрос на получение и URL. Проблема сохраняется, так как URL слишком длинный, и я хочу вместо этого создать запрос POST. Как это сделать?

1 Ответ

0 голосов
/ 10 мая 2018

Вы, кажется, несколько неправильно поняли документацию.

Вы сказали

Журнал консоли дает мне вывод массива, который я передаю событиям, и это правильный формат

И действительно, то, что вы показали, выглядит как массив Javascript. Итак ... это статический массив и , а не URL. У вас нет какой-либо конечной точки сервера, на которую вы можете сделать отдельный вызов ajax для получения ваших событий. Поэтому статья, на которую вы ссылались (https://fullcalendar.io/docs/events-json-feed), не имеет отношения к делу. Вместо этого вы предоставляете статический список событий в соответствии с методом, описанным в https://fullcalendar.io/docs/events-array).

Кроме того ... ты не такой. Благодаря тому, как вы написали свой код, вы предоставляете строку вместо массива. Это заставляет fullCalendar предполагать, что вы предоставляете URL, а затем пытаетесь вызвать этот URL, и неудивительно, что он выдает ошибку.

Если вы просто удалите одинарные кавычки из

var bevents = '".$buildingevents."'

так, чтобы оно стало

var bevents = ".$buildingevents.";

тогда ваш код должен работать нормально, потому что это вставит жестко закодированный массив в JavaScript вместо строки.

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